为什么以下返回0?
<p id="g">
<div>kk</div>
<div>ee</div>
<div>jff</div>
</p>
<script type="text/javascript">
var ii = document.getElementById("g");
var hh = ii.getElementsByTagName('div');
document.write(hh.length);
</script>
答案 0 :(得分:14)
因为<div>
中没有<p>
。段落只能作为孩子inline elements。
解析器遇到<div>
后,会自动关闭<p>
。
比较
<p id="g">
<span>kk</span>
<div>ee</div>
<div>jff</div>
</p>
<script type="text/javascript">
var ii = document.getElementById("g");
var hh = ii.getElementsByTagName('span');
alert(hh.length);
</script>