x.childNodes,nodeName 為什么返回的是undefined?
<div><p>javascript</p>
? ? <div>jQuery</div>
? ? <h5>PHP</h5></div>
<script type="text/javascript">
? ? var x=document.getElementsByTagName("div")[0];??
? document.write(x.childNodes.nodeName);
//本來childNodes是在【0】后面的,var?????????????x=document.getElementsByTagName("div")[0].childNodes這樣的
? 這個childNodes去掉了 放在輸出里面怎么就返回undefined了呢 ?
</script>
</body>
</html>
2020-12-15
我們來分析一下這一句:x.childNodes.nodeName
首先?x.childNodes?你拿到的是?x?下的所有子節(jié)點,注意這里拿到的是個類數(shù)組,不是某一個節(jié)點,而是所有子節(jié)點
其次,按照你的寫法就是?類數(shù)組.nodeName ,類數(shù)組上沒有 nodeName 屬性,所以是?undefined,
你要是想輸出每個子節(jié)點的 nodeName,就要遍歷這個類數(shù)組(或者轉成數(shù)組然后遍歷),對每一個子節(jié)點進行輸出 nodeName?操作。