js---DOM节点

一、获得元素:

1.getElementsByTagName()----所有浏览器都有这个方法,没兼容性问题

2.getElementById()---IE8.0以下,不区分Id的大小写,也就是说也没兼容性问题

3.getElementsByClassName()---IE9.0以下没有这个方法,存在兼容性问题。

4.getElementsByName()---name属性,Input的name属性,并不是所有标签都有效

5.querySelector('选择器')---IE8.0以下不兼容,选出来的是副本,再修改html中dom时,之前选出来的副本不会产生相应变化。

二、遍历

遍历节点树:parentNode/childNodes/firstChild/lastChild/nextSibling/PreviousSibling---节点树包括文本节点,注释节点,空节点

遍历元素树:除children之外,其他IE9以下都存在兼容性问题

parentElement---最高的父级到html;

children---无兼容性问题,只返回当前元素的元素子节点

node.childElementCount===node.children.length当前节点的子元素个数

firstElementChild---返回的是第一个元素节点(IE不兼容)

nextElementSibling/previousElementSibling

节点的类型:调用该节点nodeType

元素节点---1;属性节点---2;文本节点---3;注释节点---8;document---9;DocumentFragment---11

四、原型链:document--->HTMLDocument.prototype--->Document.prototype

getElementById() 定义在Document.prototype上;

getElementsByTagName() 在Document.prototype和Element.prototype上都分别定义了,所以可以用document.的形式也可以用elem.的形式(直接找到elem元素下的元素)

猜你喜欢

转载自blog.csdn.net/github_39132847/article/details/79809126