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>
浙公网安备 33010602011771号