var p = document.createElement("p");
var h1 = document.createElement("h1");
var txt = document.createTextNode("Hello World");
p.appendChild(txt);
h1.appendChild(p);
document.body.appendChild(h1);
var new_h1 = h1.cloneNode(true);
document.body.appendChild(new_h1);
注意:由于复制的节点会包含原节点的所有特性,如果原节点中包含id属性,就会出现id重复的情况。一般情况下,在同一个文档中,不同元素的id属性值应该不同。为了避免潜在冲突,应该修改其中某个节点的id属性值。
JS--JavaScript节点插入、删除、替换、克隆(appendChild、cloneNode、insertBefore、normalize、removeChild、replaceChild)
操作节点Node类型为所有节点定义了很多原型方法,以方便对节点进行操作,其中获得所有浏览器一致支持的方法如下表:Node类型原型方法说明:方法说明appendChild()向节点的子节点列表的结尾添加新的子节点cloneNode()复制节点hasChildNodes()判断当前节点是否拥有子节点insertBefore()在指定的子节点前插入新的...
文章目录前言appendChild(newchild)insertBefore(newchild, refchild)参考资料
在html中,如果需要动态的插入数据标签(li、a等),则需要使用到标题所示的appendChild()或insertBefore()来实现。
这两种方法都具有插入新元素至指定的容器中的功能,但他们却有很大的区别。
appendChild(newchild)
appendChild()的字面意思append和child,从起名中可以看出,插入元素的位置为末尾。
向当前节点的
DOM提供了insertBefore()方法,可以在某一个节点前面插入节点,但有时候需要在某一个节点后面插入节点,这就是insertAfter()方法。(From:JavaScript DOM编程艺术)
函数名:insertAfter()
参数:newElement:要添加的节点,targetElement:目标节点
1 function insertAfter(newElem...
appendChild(Node)这个方法一般是在指定元素节点的最后一个子节点之后添加节点,但如果Node是页面中的DOM对象,那么就不是添加节点了,就是直接Move节点。
① 创建原来没有的节点
window.onload = function(){
//定义一个快捷方式
function $(name){
return
appendChild 主要是用来追加
节点 插入到最后
window.onload = function(){
var ul2 = document.getElementById('ul2');
var oli = document.getElementsByTagName('li');
for(var i=0;i
ul2.
appendChild(oli[i]);
JS里动态创建元素节点:document.createElement(‘标签名’);
给一个元素追加一个子元素:当前元素.appendChild(子元素);
在指定的元素前插入新的元素:父级.insertBefore(‘新元素’,’当前元素’);
删除节点(只能在父级下进行操作):父级.removeChild(‘要删除的节点’);
替换节点:父级.replaceChild(替换的元素,被替换的元素)