DOM节点的选取

DOM提供了对HTML文档中元素、属性以及文本的一系列操作方法和属性。

通过对HTML节点的操作来实现相应的效果及交互。

节点分三类:元素节点、属性节点、文档节点,其中元素节点最为重要,后面两种节点依赖于元素节点。

元素节点的获取:

旧的查找方案:document.body【可直接拿到body元素】   document.forms【可拿到所有form表单】   document.href【可拿到所有带href属性的元素】

  

方法:

document.getElementByClassName(" ")

document.getElementById(" ")

document.getElementByTagName(" ")

【返回伪数组】

方法(ES6):

document.querySelector(" ")

document.querySelectorAll(" ")

通过元素之间的关系查找:

element.parentElement

element.firstElementChild

element.lastElementChild

element.children

element.previousElementSibling

element.nextElementSibling

操作元素节点:创建、添加,删除,替换,克隆。

创建的节点并没有添加到HTML文档中,需要添加后才展现在HTML文档里。

element.cloneNode( )【()里填写true为深克隆,会将克隆元素的标签内容一起复制,否则只复制标签】

文本节点内容的获取:

textNode.nodeValue【不常用】

elementNode.innerText【获取元素下所有文本,只能修改文本,不能修改标签】

elementNode.innerHTML【获取元素下所有节点(包括注释节点),能修改添加标签】

 

属性节点的操作:

elementNode.attributeName【for 属性需写成:htmlFor     class属性需要写成:className】

elementNode..attributes【获取某个元素下所有属性节点】

操作方法:

element.getAttribute(" ")【获取元素节点】

element.setAttribute(" ")【设置】

element.removeAttribute(" ")【删除】

element.hasAttribute(" ")【是否存在】

自定义属性:

在HTML里为某些同级相同标签添加以data-开头的自定义属性,这样在dom里可以通过dataset属性即可操作元素节点

 

 

猜你喜欢

转载自www.cnblogs.com/freeland/p/11965793.html