添加、删除、替换以及插入节点的方法

添加、删除、替换以及插入节点的方法

添加节点

obj.appendChild(node)
  1. 把新的子节点添加到指定节点,node表示的就是要添加的节点。
  1. 只能在父节点的末尾添加元素。
// 获取元素
    var div=document.getElementById("div1");
    // 创造元素,给元素添加些文字
    var p=document.createElement("p");
    p.innerHTML="添加1";
    var p1=document.createElement("p");
    p1.innerHTML="添加2";
    var p2=document.createElement("p");
    p2.innerHTML="添加3";
    // 添加到div中
    div.appendChild(p);
    div.appendChild(p1);
    div.appendChild(p2);

删除节点

removeChild(node)
  1. 删除子节点(元素)
  1. 如果在table中直接写tr时,然后用table当作父元素,给里面添加行,会报如下错误。因为table里面直接写tr,虽然不会报错,但浏览器会给你生成一个tbody,这样就会导致tr不是table的孩子,就会出现这样的错误,所以要注意父元素是否写对,其实也可通过子选父,这样保证了不会出现这样的错误。
  1. 在添加元素时也会有这样的问题。
// 获取元素
    var div=document.getElementById("div1");
    // 创建元素,给元素添加些文字
    var p=document.createElement("p");
    p.innerHTML="添加1";
    var p1=document.createElement("p");
    p1.innerHTML="添加2";
    var p2=document.createElement("p");
    p2.innerHTML="添加3";
    // 添加到div中
    div.appendChild(p);
    div.insertBefore(p1,p);
    div.insertBefore(p2,p1);
    // 删除p1
    div.removeChild(p1);
Authors
John
Luke

替换节点

obj.replaceChild(newnode,oldnode)
  1. 用新节点替换某个子节点。oldnode节点必须是obj元素子节点,他的返回值是一个指向已经被替换的那个子节点的引用指针。
var div=document.getElementById("div1");
    // 创建元素,给元素添加些文字
    var p=document.createElement("p");
    p.innerHTML="添加1";
    var p1=document.createElement("p");
    p1.innerHTML="添加2";
    var p2=document.createElement("p");
    p2.innerHTML="添加3";
    // 添加到div中
    div.appendChild(p);
    div.insertBefore(p1,p);
    div.insertBefore(p2,p1);
    // 新创建一个元素
    var span=document.createElement("span");
    span.innerHTML="span";
    // 替换第一个p
    div.replaceChild(span,p);
replaceChild()方法也可以用文档树上的现有节点去替换另一个现有节点
代码如下:
// 获取元素
    var div=document.getElementById("div1");
    // 创建元素,给元素添加些文字
    var p=document.createElement("p");
    p.innerHTML="添加1";
    var p1=document.createElement("p");
    p1.innerHTML="添加2";
    var p2=document.createElement("p");
    p2.innerHTML="添加3";
    // 添加到div中
    div.appendChild(p);
    div.insertBefore(p1,p);
    div.insertBefore(p2,p1);
    // 将p2替换为p
    div.replaceChild(p,p2);

当 oldnode 被替换时,所有与之相关的属性内容都将被移除。
newnode 必须先被建立。

插入节点

obj.insertBefore(node,existingnode)
  1. 在指定的已有子节点之前插入新的子节点。node表示要添加的节点,existingnode表示在其之前插入新节点的子节点。如果未规定,则 insertBefore 方法会在结尾插入。
// 获取元素
    var div=document.getElementById("div1");
    // 创造元素,给元素添加些文字
    var p=document.createElement("p");
    p.innerHTML="添加1";
    var p1=document.createElement("p");
    p1.innerHTML="添加2";
    var p2=document.createElement("p");
    p2.innerHTML="添加3";
    // 添加到div中
    div.appendChild(p);
    div.insertBefore(p1,p);
    div.insertBefore(p2,p1);
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗳华裳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值