元素javascript中的getElementsByTagName

时间:2012-03-24 07:08:39

标签: javascript dom

为什么以下返回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>

1 个答案:

答案 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>​