Firefox等の場合、空白も要素としてカウントしてしまうのでややこしい。
下の例だと
①= document.getElementsByName("test")[0];
②= document.getElementsByName("test")[0].nextSibling; //空白部分
③= document.getElementsByName("test")[0].nextSibling.nextSibling; //最初のdivで囲まれた部分
④= document.getElementsByName("test")[0].nextSibling.nextSibling.childNodes[0]; //最初のdivの子要素であるテキストノード
のような関係となっている。
<html>
<head>
<script type="text/javascript">
<!--
function test() {
k =document.getElementsByName("test")[0].nextSibling.nextSibling;
alert(k.childNodes[0].nodeValue); //<-要素Aを表示する。
}
//-->
</script>
</head>
<body>
<input type="radio" name="test" value="1"> <=① ②
<div>要素A<=④</div><=③
<div>要素B</div>
<input type="radio" name="test" value="2">要素C
<input type="button" value="押す" onclick="test();">
</body>
</html>
最終更新:2021年07月24日 11:18