Потому что вы не можете иметь <div>
в <p>
. Абзацы могут иметь только встроенные элементы как дочерние элементы.
Как только синтаксический анализатор обнаруживает <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>