我所有浏览器显示的子节点个数都是3,节点也是1。是版本原因么?

来源:9-8 访问子节点childNodes

qq_诺诺

2016-09-01 15:07

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<ul>
			
			<li>javascript</li>
			<li>jQuery</li>
			<li>PHP</li>
		</ul>
		<script>
			var x=document.getElementsByTagName("li");
			document.write("ul子节个数"+x.length);
			document.write("节点类型"+x[0].nodeType);
		</script>
	</body>
</html>


写回答 关注

2回答

  • stonecheng
    2016-09-01 21:47:12

    我测试了chrome52,IE10和firefox也是相同的结果。子节点=7个。和教程9-8“访问子节点”里说的3个子节点不同。

    但ul的子节点,应该去查找ul,而不是li

    <script>

                var x=document.getElementsByTagName("ul")[0].childNodes;

                document.write("ul子节个数"+x.length);

                document.write("节点类型"+x[0].nodeType);

    </script>


  • 慕粉5049569
    2016-09-01 21:28:54

    你这里用getElementsByTagName获取元素,结果肯定是一样的,9-8旁边左边所说的是用childNodes获取子节点,所以有浏览器兼容问题。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题