元素javascript中的getElementsByTagName

Sam*_*msh 7 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>
Run Code Online (Sandbox Code Playgroud)

Tom*_*lak 15

因为你不能拥有<div>一个<p>.段落只能将内联元素作为子元素.

一旦解析器遇到a <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>?
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。8年后第一次评论你的答案。 (2认同)