2018-05-31

尽量避免HTML和javascript代码混在一起,要做到行为和结构分离。

=========================================================================

添加一个元素节点:

<div id="testDiv">
  
</div>

1.创建新的元素;
2.把这个新元素插入节点树;

document.createElement(nodeName);

用这条语句来创建一个新的P元素

document.createElement("p");

把新创建出来的元素赋给一个变量会比较方便使用

var para = document.createElement("p");

使用appendChild方法来使得新创建的元素成为已有元素的一个子节点

parent.appendChild(child)

首先获取到testDiv节点

var testdiv = document.getElementById("testDiv");

然后调用appendChild方法

testdiv.appendChild(pare);

=================================================================

上面只是创建了一个P节点,但是节点内并没有任何内容,下面为P节点创建文本节点

使用createTextNode方法来实现创建文本节点

document.createTextNode("text");

创建一个内容为“Hello world”的文本节点,并把它赋值给新的变量

var txt = document.createTextNode("Hello world");

使用para调用appendChild方法

para.appendChild(txt);

=====================================================================

把一个新元素插入到一个现有元素的前面

insertBefore()

//newElement 新元素:你想要插入的元素
//targetElement 目标元素:你想把新元素插入到那个元素之前
//parentElement 目标元素的父元素
parentElement.insertBefore(newElement, targetElement);

======================================================================

把一个新元素插入到一个现有元素的后面

insertAfter()方法,但是DOM没有提供这一方法。

function insertAfter(newElement, targetElement) {
  var parent = targetElement.parentNode;//获取目标元素的父元素
  if(parent.lastChild == targetElement) {//判断父元素的最后一个子元素是否为目标元素
    parent.appendChild(newElement);
  }else {
    parent.insertBefore(newElement, targetElement.nextSibling);//nextSibling下一个兄弟元素
  }
}

=====================================================================

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 六、线性表的整表创建 声明一结点p和计数器变量i;初始化一空链表L;让L的头结点的指针指向NULL,即建立一个带头...
    多佳小昕阅读 2,615评论 0 0
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 5,356评论 1 3
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 9,073评论 0 7
  • 今天,不知哪个时辰哪个点,可能,就是下班骑车的路上,胡思乱想的,突然萌生了一个想法。 好想在这个小城镇开一家小书店...
    原心1314阅读 4,911评论 0 1
  • 早在高中时候就听得班主任说过:现在的大学比不得从前了,以前的大学上四年,可现在呢,变成了上三年的了,而且质量越来越...
    狐思乱想阅读 1,020评论 0 0