hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

FirefoxでのchildNodes.length

FirefoxのchildNodesは、子要素だけでなく改行コードも要素として含まれました
IEの場合は、改行コードは含まず、子要素だけを見てくれるみたいです。
K Factor − Firefoxでは、childNodes.lengthの結果が他ブラウザと違う

を参考にさせていただきました。

<html>
<head>
<script type="text/javascript">
function hogeChildNodes(id)
{
    var foobar = document.getElementById(id);
    var children = foobar.childNodes;
    alert(children.length);
}
</script>
</head>
<body>

<!--
これは childNodes.length = 5
 子ノード:2 + 改行コード:3
-->
<div id="foo">
    <p>hogehoge</p>
    <p>foobar</p>
</div>
<input type="button" id="fooBtn" value="FoochildNodes" onclick="hogeChildNodes('foo')">

<!--
これは childNodes.length = 5
 子ノード:2
--><div id="bar"><p>hogehoge</p><p>foobar</p></div>
<input type="button" id="barBtn" value="BarchildNodes" onclick="hogeChildNodes('bar')">

</body>
</html>