我目前正在更新我的组织自定义 JS 库,我想介绍的一件事是 querySelectorAll。
考虑到兼容性,它将在现代浏览器中运行,对于较旧的浏览器,我将使用功能检测:
if (document.querySelectorAll) {
var nodes = context.querySelectorAll(queryValue);
} else {
var nodes = context.getElementsByTagName(queryValue);
}
使用此方法时有什么我应该注意的事项吗?或者它是否适合生产?
重视所有意见
最佳答案
两者的主要区别在于:
getElementsByTagName
...将返回一个“实时列表”,并且
querySelectorAll
...不会。
因为这似乎只能通过标签进行选择,所以我可能会放弃 qsa
,这样您就可以在需要时获得实时列表。我感觉 qsa
在某些浏览器中也可能更慢,但还没有测试过。
编辑:
This test显示出两者在 Chrome 13 中的巨大性能差异。
关于javascript - queryselector全部用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584333/