Czy JavaScript nie powinien ignorować białych znaków? Dziwaczność węzła w Firefoksie
Napotkałem ten „błąd” w najnowszym wydaniu Firefoksa i nie wiem, co powoduje to zachowanie i który jest prawidłowym wynikiem.
HTML
<div><h1 id="heading">First Title</h1></div><div><h1>Second Title</h1></div>
JavaScript
var allDivNodes = document.getElementsByTagName("div");
console.log(allDivNodes[0].childNodes);
console.log(allDivNodes[1].childNodes);
console.log(allDivNodes[0].childNodes.length);
console.log(allDivNodes[1].childNodes.length);
Otrzymuję następujący wynik:
A oto dziwactwo. Jeśli dodam spacje w kodzie HTML i uruchomię ten sam skrypt, otrzymam ten wynik:
NOWY HTML. JavaScript pozostaje taki sam
<div>
<h1 id="heading">First Title</h1>
</div>
<div>
<h1>Second Title</h1>
</div>
Nowy wynik:
Myślałem, że JavaScript jest niewrażliwy na białe znaki. Dlaczego więc zmienia wartość nodeLength od 1 do 3?