js dom操作api

getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

getElementsByName() 

另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用


createElement() 创建一个元素节点 
createTextNode() 创建一个文本节点 
createComment() 创建一个文本节点 
createDocumentFragment() 创建文档碎片节点
appendChild() 添加子节点


// 创建div节点
var div = document.createElement("div");
// 装载html字符串
div.innerHTML = html;
// 此时div.childNodes就是我们需要的节点了!
return div.childNodes;

var nodes = div.childNodes;
for (var i=0, length=nodes.length; i<length; i+=1) {
   // 容器container加载克隆的节点 - 克隆的作用是保证nodes的完整
   container.appendChild(nodes[i].cloneNode(true)); 
}

var nodes = div.childNodes
    , fragment = document.createDocumentFragment();

for (var i=0, length=nodes.length; i<length; i+=1) {
   // 文档片段加载克隆的节点
   fragment.appendChild(nodes[i].cloneNode(true)); 
}
container.appendChild(fragment);

具体来讲,就是使用document.createDocumentFragment()创建一个文档片段,然后,把节点一个一个append到这个片段中,回到页面上的时候,直接append这个文档片段就可以了-只有一次。
从http://www.zhangxinxu.com/wordpress/2013/05/js-dom-basic-useful-method/ 摘录的笔记


removeChild() 方法指定元素的某个指定的子节点。

var list=document.getElementById("myList");
list.removeChild(list.childNodes[0]);

replaceChild() 方法用新节点替换某个子节点。
document.getElementById("myList").replaceChild(newnode,oldnode);

insertBefore() 方法在您指定的已有子节点之前插入新的子节点。
document.getElementById("myList").insertBefore(newItem,existingItem);

setAttribute(string name,string value)增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值

getAttribute()获取指定元素的属性值

var span=document.createElement("");//span为element

   span.setAttribute("id","span1");//设置属性<span id="span1"></span>





 





 

posted on 2015-03-25 12:29  兰陵  阅读(194)  评论(0)    收藏  举报

导航