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>

在上面的代码中,第一个警报给出错误,但在警报二中没有。我如何获得与 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"因此,您应该去那里".abcd"(注意添加的),而不是使用as 参数.

<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 回答