我目前正在升级我的组织自定义JS库,我想介绍的一件事是querySelectorAll。
考虑兼容性,它将在现代浏览器中运行,对于旧版浏览器,我将使用特征检测:
if (document.querySelectorAll) {
var nodes = context.querySelectorAll(queryValue);
} else {
var nodes = context.getElementsByTagName(queryValue);
}
使用此方法时是否应该注意哪些因素或是否适合生产?
所有意见重视
答案 0 :(得分:2)
两者之间的主要区别在于:
getElementsByTagName
...将返回“实时列表”和
querySelectorAll
......不会。
由于这似乎只是用于按标签选择,我可能会放弃qsa
,因此您可以根据需要获得实时列表。我有一种感觉qsa
在某些浏览器中可能会慢一些,但还没有测试过。
修改强>
This test显示Chrome 13中的两者之间存在巨大的性能差异。