dom兼容性问题3 元素操作

/*
var oLi = document.createElement(‘li‘);

   oUl.appendChild( oLi );

};

createElement(‘‘) : 创建一个dom元素

appendChild() : 往一个节点的现有子节点后面追加一个新的子节点。

  父级.appendChild( 子节点 );

insertBefore()

createElement(‘‘) : 创建一个dom元素

appendChild() : 往一个节点的现有子节点后面追加一个新的子节点。

  父级.appendChild( 子节点 );

insertBefore() : 往一个节点的指定现有子节点前面插入一个新的子节点。

  父级.insertBefore( 准备插入的子节点,插入到哪个子节点的前面 );

removeChild() : 从一个节点里面删除指定的子节点。

  父级.removeChild( 准备要删除的子节点 );

replaceChild() : 用一个节点替换掉另一个节点里面的指定子节点。

  被替换元素的父级.replaceChild( 用来替换的节点,被替换掉的子节点 );

  被替换的元素必须是真实存在的节点元素。

cloneNode() :  复制一个节点。

    被复制的节点.cloneNode( boolean );
      boolean : 指定是否复制所有子孙节点。
        true : 复制所有子孙节点。
        false : 只复制节点本身。

    温馨提醒:cloneNode() 只会复制dom结构,而不会复制事件或者通过js添加的属性等。
  appendChild() / insertBefore() / replaceChild() : 如果操作的对象是一个已经存在在页面中的元素,则是直接移动元素,而并非复制元素。

exp:
var oDiv1 = document.getElementById(‘div1‘);
var oDiv2 = document.getElementById(‘div2‘);
var oBox = document.getElementById(‘box‘);

document.onclick = function(){

    //oBox.appendChild( oDiv1 );
   // oBox.appendChild( oDiv1.cloneNode() );
    //oBox.insertBefore( oDiv1 , oDiv2 );
    oBox.replaceChild( oDiv1 , oDiv2 );

};

appendChild() / insertBefore() / replaceChild() : 如果操作的对象是一个已经存在在页面中的元素,则是直接移动元素,而并非复制元素。

-----------------------------------------------------
class封装函数
function hasClass( obj , sClass ){

  var aClass = obj.className.split(‘ ‘);

  if( !obj.className )return false;

  for(var i=0; i<aClass.length; i++){
    if( aClass[i] == sClass )return true;
  }

  return false;

}

function removeClass( obj , sClass ){
    var aClass = obj.className.split(‘ ‘);

    if( !obj.className ) return;

    for(var i=0; i<aClass.length; i++){

      if( aClass[i] == sClass ){

        aClass.splice( i , 1 );
        obj.className = aClass.join(‘ ‘);
        return;

      }  

    }

}

function addClass( obj , sClass ){

    var aClass = obj.className.split(‘ ‘);

    if( !obj.className ){
      obj.className = sClass;
      return;
    }

    for(var i=0; i<aClass.length; i++){
      if( aClass[i] == sClass ) return;
    }

    obj.className += ‘ ‘ + sClass;  

}
//获取

function getByClass( sClass , parent ){
  var aEles = (parent||document).getElementsByTagName(‘*‘);
  var arr = [];

  for(var i=0; i<aEles.length; i++){ //查看每一个元素是否满足要求
    var aClass = aEles[i].className.split(‘ ‘);

    for(var j=0; j<aClass.length; j++){ //查看元素的每一个className
      if( aClass[j] == sClass ){
        arr.push( aEles[i] );
        break;
      }
    }

  }

  return arr;

}

*/
时间: 2024-10-27 01:07:07

dom兼容性问题3 元素操作的相关文章

JS-006-表格元素操作

直接上菜咯... 以下为 HTML 表格源码: 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 5 <title>JS-006-表格元素操作</title> 6 <script type="text/javascript" src="comm

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

jquery api 常见api 元素操作例子

append_prepend.html 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <title>method_1.html</title> 5 <meta http-equiv="content-type" content="text/html; charset=

selenium 常见元素操作:三大等待

selenium 常见元素操作 三大等待 三大切换(iframe,window,alert) 下拉列表 鼠标和键盘 js+ dom应用() 上传操作 强制等待:time.sleep()        (译:私立破) 必须等待固定时间后才可以往下运行 from selenium import webdriver import time # 强制等待需要导入time,使用其中的sleep方法 # 强制等待 sleep(译:私立破) # 打开谷歌浏览器,建立会话.启动Chromedriver.exe

C++ 关联容器之map插入相同键元素与查找元素操作

一.插入相同键元素操作 (1)insert方法 在map中的键必须是唯一的,当想map中连续插入键相同但值不同的元素时,编译和运行时都不会发生任何错误,系统会忽略后面的对已存在的键的插入操作,如 1 map<int,int> m1; 2 m1.insert(make_pair(1,2)); 3 m1.insert(make_pair(1,3)); 4 for(map<int,int>::iterator mit=m1.begin();mit!=m1.end();mit++){ 5

相关元素操作

五.相关元素操作: var a = document.getElementById("id");找到a: var b = a.nextSibling,找a的下一个同辈元素,注意包含空格:(弟) var b = a.previousSibling,找a的上一个同辈元素,注意包含空格:(兄) var b = a.parentNode,找a的上一级父级元素:(父) var b = a.childNodes,找出来的是数组,找a的下一级子元素:(子) var b = a.firstChild,

采用DOM进行表格的修改操作

2015-08-31 <html> <head> <title>采用DOM进行表格的修改操作</title> <script language="JavaScript"> function addRow() { var tab=document.getElementbyId("mytab");//取得table的节点对象 var id=document.getElementById("id&quo

selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)

上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作 (1)简单元素操作 简单元素操作 find_element_by_id("kw").clear() #文本框清空 find_element_by_id("kw").send_keys("selenium") #文本框输入 find_element_by_id("button").click() #点击按钮操作 (2)webElem

java+selenium元素定位和元素操作

1.元素定位 ID定位元素: findElement(By.id("")); 通过元素的名称定位元素: findElement(By.name("")); 通过元素的html中的位置定位元素: findElement(By.xpath("")); 通过元素的标签名称定位元素: findElement(By.tagName("")); 通过元素的链接名称定位元素: findElement(By.linkText("&q