0
<html>
<head></head>
<body>
<div class="abcd"></div>
<script>
var y = document.getElementsByClassName('abcd');
var x = document.querySelectorAll("abcd");
alert(y[0].hasChildNodes());
alert(x[0].hasChildNodes());
</script>
</body>
</html>

上記のコードの最初のアラートでは false が返されますが、アラート 2 では返されません。document.querySelectorAll で同じ結果を得るにはどうすればよいですか? 基本的にIE8で動作させたいです。

4

2 に答える 2

2

はい、適切なcss セレクター (v2.1)を使用する場合:var x = document.querySelectorAll(".abcd");

CSS セレクターのブラウザー サポートについては、このページも参照してください。

于 2012-06-25T10:29:23.553 に答える
1

document.querySelectorAll()CSS と同じセレクターを使用して要素を指定します。"abcd"したがって、 as パラメータを使用する代わりに、そこに".abcd"( が追加されていることに注意してください) を使用する必要.があります。

<script>
var y = document.getElementsByClassName('abcd');
var x = document.querySelectorAll(".abcd");
alert(y[0].hasChildNodes());
alert(x[0].hasChildNodes());
</script>
于 2012-06-25T10:29:23.293 に答える