DOM中的几个节点操作appendChild、insertBefore和insertAfter

  • appendChild
    将元素添加到指定的节点中,使用如下:

    方法:target.appendChild(newChild)
    newChild作为target的子节点插入最后的一子节点之后
     //举例
    var newElement = document.Document.createElement('label'); 
    newElement.Element.setAttribute('value', 'Username:');
    var usernameText = document.Document.getElementById('username'); 
    usernameText.appendChild(newElement); 
    
  • insertBefore:在现有的子节点前插入一个新的子节点,使用如下:

    方法:target.insertBefore(newChild,existingChild)
    newChild作为target的子节点插入到existingChild节点之前
    existingChild为可选项参数,当为null时其效果与appendChild一样
      //举例
      var oTest = document.getElementById("test");
      var newNode = document.createElement("p");
      newNode.innerHTML = "This is a test";
      oTest.insertBefore(newNode,oTest.childNodes[0]);
    
  • 没有insertAfter,那就自己造一个喽

    function insertAfter(newEl, targetEl) {
        var parentEl = targetEl.parentNode;
    
        if (parentEl.lastChild == targetEl) {
            parentEl.appendChild(newEl);
        } else {
            parentEl.insertBefore(newEl, targetEl.nextSibling);
        }
    }
    

    使用:

      var txtName = document.getElementById("txtName");
      var htmlSpan = document.createElement("span");
      htmlSpan.innerHTML = "This is a test";
      insertAfter(htmlSpan,txtName);
      //将htmlSpan 作为txtName 的兄弟节点插入到txtName 节点之后
    
总结:

1、appendChild和insertBefore是做对节点的方法来使用的,而insertAfter只是自定义的一个函数
2、insertBefore相对于appendChild来说,比较灵活可以将新的节点插入到目标节点子节点数组中的任一位置。
3、使用appendChild和insertBefore来插入新的节点前提是,其兄弟节点必须有共同的父节点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本篇是基于《JavaScript高级程序设计(第3版)》DOM相关章节做的整理与归纳,概述了DOM的常见节点类型及...
    查查查查查查克阅读 2,658评论 2 7
  • 1. 什么是DOM 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它提供了对文档的结构化的表述,并定...
    hanyuntao阅读 1,416评论 0 4
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,979评论 0 8
  • 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值...
    吴博阅读 584评论 0 0
  • 一月24至26、经过两天漫长的火车旅途、归来、这个银装素裹的北方城市。 火车到站时不足七点、城市还处于惺忪的睡眠之...
    猫不懂寂寞阅读 281评论 0 2

友情链接更多精彩内容