显然这两个功能相似,性能更好?我应该使用哪一个?这两者之间的区别是什么?
document.querySelectorAll()
function funDOM() {
var x = document.querySelectorAll(".example");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.backgroundColor = "red";
}
}
&#13;
<html>
<body onload="funDOM()">
<div>
Doubts <span class="example">red</span>
</div>
<p class="example">red</p>
</body>
</html>
&#13;
document.getElementsByClassName()
function funDOM() {
var x = document.getElementsByClassName("example");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.backgroundColor = "red";
}
}
&#13;
<html>
<body onload="funDOM()">
<div>
Doubts <span class="example">red</span>
</div>
<p class="example">red</p>
</body>
</html>
&#13;
答案 0 :(得分:2)
不同之处在于querySelectorAll
允许您搜索的不仅仅是类。您可以使用任何CSS选择器进行搜索。
实际上,两者之间没有太大的性能差异,但如果您只想按类名搜索,则应使用getElementsByClassName
。