- 通过具体的元素节点来查询
- 元素.getElementsByTagName()
- 通过标签名查询当前元素的指定后代元素
- 元素.childNodes
- 获取当前元素的所有子节点
- 会获取到空白的文本子节点
- childNodes属性会获取包括文本节点在呢的所有节点
- 根据DOM标签标签间空白也会当成文本节点
- 注意:在IE8及以下的浏览器中,不会将空白文本当成子节点,
- 所以该属性在IE8中会返回4个子元素而其他浏览器是9个
- 元素.children
- 获取当前元素的所有子元素
- 元素.firstChild
- 获取当前元素的第一个子节点
- 会获取到空白的文本子节点
- 元素.firstElementChild
- 获取当前元素的第一个子元素
- firstElementChild不支持IE8及以下的浏览器,
- 如果需要兼容他们尽量不要使用
- 元素.lastChild
- 获取当前元素的最后一个子节点
- 会获取到空白的文本子节点
- 元素.parentNode
- 获取当前元素的父元素
- 元素.previousSibling
- 获取当前元素的前一个兄弟节点
- 会获取到空白的文本子节点
- 元素.previousElementSibling
- 获取前一个兄弟元素,IE8及以下不支持
- var pe = and.previousElementSibling;
- 元素.nextSibling
- 获取当前元素的后一个兄弟节点
- 会获取到空白的文本子节点
innerHTML和innerText
- 这两个属性并没有在DOM标准定义,但是大部分浏览器都支持这两个属性
- 两个属性作用类似,都可以获取到标签内部的内容,
不同是innerHTML会获取到html标签,而innerText会自动去除标签
- 如果使用这两个属性来设置标签内部的内容时,没有任何区别的
读取标签内部的文本内容
<h1>h1中的文本内容</h1>
元素.firstChild.nodeValue