nodeValue和nodeType
nodeValue看到value我们就知道是值了,nodeType看到Type就知道是类型了 nodevalue是取得文本值 当nodeType==3的时候才有会返回值。不然会返回一个null值(或者经常按照我们编码的习惯,会产生一个空格 空格在JS里面nodeType==3是返回true)。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <body> <ul id="Mylist"> <li>1111</li> <li>11112</li> <li>1113</li> </ul> </body> </html>
我们的编码习惯一般都会缩进换行 所以造就了一个空格 。
<script> /**nodeValue***/ var oul=document.getElementById("Mylist"); console.log(oul.childNodes[0].nodeValue); </script>
这样不会报错,返回一个空格。
console.log(oul.childNodes[1].nodeValue);
oul.childNodes[1]返回的是li 相信到了这里你应该是要取1111这个文本了
console.log(oul.childNodes[1].childNodes[0].nodeValue);
这样你就取到了111 或者
console.log(oul.innerText?oul.children[0].innerText:oul.children[0].textContent);
都可以取到第一个li的文本值.
关于textContent和innerText的兼容问题,上一篇博客已经写好了.有兴趣的同学可以看看。