美文网首页
JavaScript的DOM操作(节点操作)

JavaScript的DOM操作(节点操作)

作者: 奶油小生Cc | 来源:发表于2017-04-27 11:20 被阅读0次

1.创建节点

createElement()

var node = document.createElement(“div”);

没什么可说的,创建一个元素节点,但注意,这个节点不会被自动添加到文档(document)里。

2、创建文本节点

createTextNode()

var value = document.createTextNode(“text”);

创建一个文本节点,常用来往元素节点里添加内容,也不会自动添加到文档里。

很多人知道innerHTML,不知道这个方法,这个添加的是静态文本,如果插入的内容不带HTML格式,用createTextNode比innerHTML安全,而innerText又有浏览器不兼容的问题,因此用createTextNode很好使。

3、插入节点到最后

appendChild()

node.appendChild(value);

将节点插入到最后,上面两个创建的节点不会自动添加到文档里,所以就要使appendChild来插入了。

如果是新的节点是插入到最后,而如果是已经存在的节点则是移动到最后,这点很多人注意不到,理解了这点,再和下面的方法结合,可以方便的移动操作节点。

4、插入节点到目标节点的前面

insertBefore()

var node = document.createElement(“div”);

var _p = document.createElement(“p”);

var _span = document.createElement(“span”);

node.appendChild(_p);

node.insertBefore(_span, _p);

节点在

节点前面插入,其中第二个参数是可选,如果第二个参数不写,将默认添加到文档的最后,相当于appendChild。

同样,appendChild和insertBefore,如果是已存在节点,他们都会自动先删除原节点,然后移动到你指定的地方。

将节点移动到最前面的技巧:

if (node.parentNode.firstChild)

node.parentNode.insertBefore(node, node.parentNode.firstChild);

else node.parentNode.appendChild(node);

5、复制节点

cloneNode(boolean)

node.cloneNode(true);

node.cloneNode(false);

复制上面的div节点,参数true,复制整个节点和里面的内容;false,只复制节点不要里面的内容,复制后的新节点,也不会被自动插入到文档,需要用到3和4的方法去插入。

6、删除节点

removeChild()

node.removeChild(_p);

把上面的节点从里删除。

不过一般情况下,不知道要删除的节点的父节点是什么,因此一般这么使:

node.parentNode.removeChild(node);

7、替换节点

repalceChild(newNode, oldNode)

node.repalceChild(_p, _span);

把上面的节点替换成节点,注意无论是还是,都必须是的子节点,或是一个新的节点。

8、设置节点属性

setAttribute()

node.setAttribute("title","abc");

不解释了,很容易明白。就说一句,用这个方法设置节点属性兼容好,但class属性不能这么设置。

9、获取节点属性

getAttribute()

node.getAttribute("title");

同8,获取节点属性。

10、判断元素是否有子节点

hasChildNodes

node.hasChildNodes;

返回boolean类型,因此将新节点插入到最前面的技巧:

var node = document.createElement(“div”);

var newNode = document.createElement(“p”);

if (node.hasChildNodes) node.insertBefore(newNode, node.firstChild);

else node.appendChild(node);

最后是DOM的属性:

nodeName -节点的名字;

nodeType -返回一个整数,代表这个节点的类型,1-元素节点,2-属性节点,3-文本节点;

nodeValue -返回一个字符串,这个节点的值;

childNodes -返回一个数组,数组由元素节点的子节点构成;

firstChild -返回第一个子节点;

lastChild -返回最后一个子节点;

nextSibling -返回目标节点的下一个兄弟节点,如果目标节点后面没有同属于一个父节点的节点,返回null;

previousSibling -返回目标节点的前一个兄弟节点,如果目标节点前面没有同属于一个父节点的节点,返回null;

parentNode -返回的节点永远是一个元素节点,因为只有元素节点才有可能有子节点,document节点将返回null;

innerHTML - 节点(元素)的文本值

parentNode - 节点(元素)的父节点

childNodes - 节点(元素)的子节点

attributes - 节点(元素)的属性节点

getElementById(id) - 获取带有指定 id 的节点(元素)

appendChild(node) - 插入新的子节点(元素)

removeChild(node) - 删除子节点(元素)

相关文章

  • DOM (javascript DOM节点操作)

    DOM (javascript DOM节点操作) 本节目录 查找DOM元素 DOM节点操作 javascript操...

  • dom操作

    javascript 原生方法对dom节点的操作具体包括:创建、添加、删除、替换、插入、复制、移动等。 dom操作...

  • JavaScript的DOM操作(节点操作)

    1.创建节点 createElement()var node = document.createElement(“...

  • jQuery-DOM篇

    DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...

  • 【前端】-029-DOM编程-节点操作

    节点的属性 节点操作 除了通过DOM树中的父子、兄弟关系获取节点外,还可以通过 JavaScript 中的DOM接...

  • JavaScript DOM常用操作

    JavaScript的DOM操作主要包括: 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的...

  • 【DOM】DOM的操作(增删改查)

    操作DOM的核心就是增删改查 参考: JavaScript DOM编程——API详解 目录 一、节点创建型API ...

  • JavaScript——DOM节点动态操作

    0.前言 上一节把每个的节点操作都演示一遍,可累死我了,今天就不一一演示了,直接上代码,注释在代码里,写的很详细。...

  • javascript dom 节点基本操作

    创建节点: createElement()var node = document.createElement("d...

  • Vue解决了哪些问题

    虚拟 dom:dom 操作时非常耗性能的,不再使用原生的 dom 操作节点,极大的解放 dom 操作,但具体操作的...

网友评论

      本文标题: JavaScript的DOM操作(节点操作)

      本文链接:https://www.haomeiwen.com/subject/dlpgzttx.html