创建、插入和删除节点
- 创建、插入和删除节点
创建、插入和删除节点
1.创建节点
creatElement:创建元素节点
creatAttribute:创建属性节点,用法有点复杂,可以用setAttribute实现
creatTextNode:创建文本节点,用法有点复杂,可以用innerText实现
var image = document.createElement(img)
image.src = 'state/2.png'
2.复制节点
cloneNode()方法克隆所有属性以及它们的值。如果您需要克隆所有后代,请把 deep 参数设置 true,否则设置为 false。
例:
var clone = document.getElement('list').lastChild.cloneNode(true)
document.getElement('list1').appendChild(clone)
3.插入节点
appendChild()和insertBefore()
appendChild()是在需要插入的Element节点上调用的,它插入指定的节点使其成为那个节点的最后一个子节点,接收一个参数。
insertBefore()接收两个参数,第一个参数是待插入的节点,第二个参数是已存在的节点,新节点将插入该节点的前面。该方法是在新节点的父节点上调用,方法的第二个参数必须是该父节点的子节点。如果传递null作为第二个参数,insertBefore的行为类似appendChild(),它将节点插入在最后。
4.删除和替换节点
removeChild()方法是从文档数中删除一个节点,该方法在待删除的父节点上调用,并将需要删除的子节点作为参数传递给它。例:
n.parentNode.removeChild(n)
replaceChild()方法是删除一个子节点并用一个新的节点替换它。在父节点上调用该方法,第一个参数是新节点,第二个参数是需要替换的节点。
5.DocumentFragment
DocumentFragment是一种特殊的Node,它作为其他节点的临时容器。将这样创建
var frag = document.creatDocumentFragment()
DocumentFragment的特殊之处在于它使得一组节点被当做一个节点看待:比如给appendChild()传递一个DocumentFragment,其实是将该文档片段的所有子节点插入到文档中,而不包括片段本身。例:
var f = document.creatDocumentFragment()
while(n.lastChild) f.appendChild(n.lastChild)
n.appendChild(f)