节点,它的nodeName是P,nodeType是1。文本节点的nodeName是#text,nodeType是3。
通常来说,nodeType属性确定一个节点的类型比较方便。
document.querySelector('a').nodeType === 1
// true
document.querySelector('a').nodeType === Node.ELEMENT_NODE
上面两种写法是等价的。
Node.nodeValue
Node.nodeValue属性返回一个字符串,表示当前节点本身的文本值,该属性可读写。js 对象数组遍历
由于只有Text节点,Comment节点,XML文档的CDATA节点有文本值,因此只有这三类节点的nodeValue可以返回结果,其他类型的节点一律返回null。同样的,也只有这三类节点可以设置nodeValue属性的值。对于那些返回null的节点,设置nodeValue属性是无效的。
Node.textContent
Node.textContent属性返回当前节点和它所有后代节点的文本内容。
// HTML代码为 This is sometext
document.getElementById('divA').textContent
// This is some text
textContent属性会忽略当前节点内容的HTML标签,返回所有文本内容。
该属性是可读写的,设置该属性的值,会用一个新的文本节点,替换所有原来的子节点。它还有一个好处,就是对HTML标签转移。这很适合用于用户提供的内容。
document.getElementById('foo').textContent = '
GoodBye
';
上面代码插入文本时,会将
标签解释为文本,而不会当做标签处理。
对于Text节点和Comment节点,该属性的值与nodeValue属性值相同。对于其他类型的节点,该属性会将每个子节点的内容连接在一起返回,但是不包括Comment节点。如果一个节点没有子节点,则返回空字符串。
document节点和doctype节点的textContent属性为null。如果要读取整个文档的内容,可是使用document.documentElement.textContent。
Node.baseURI
Node.baseURI属性返回一个字符串,表示当前网页的绝对路径。如果无法获取这个值,则返回null。浏览器根据这个属性,计算网页上的相对路径的URL。该属性只读。
//
document.baseURI
// "http://www.example.com/index.html"
不同节点都可以调用这个属性(比如document.baseURI和element.baseURI),通常他们的值都是相同的。
设置了以后,baseURI属性就返回标签设置的值。
相关节点的属性
以下属性返回当前节点的相关节点。
Node.ownerDocument
Node.ownerDocument属性返回当前节点所在的顶层文档对象,即Document对象。
var d = p.ownerDocument;
d === document;
document对象本身的ownerDocument属性,返回null。
Node.nextSibling
var el = document,getElementById('div-01').firstChild;
var i = 1;
while(el){
console.log(i + '. ' + el.nodeName);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58611-2.html
而是将来
如此这般
我不觉得自己多勇敢