queryselectorAll用法

时间:2011-07-05 14:29:32

标签: javascript

我目前正在升级我的组织自定义JS库,我想介绍的一件事是querySelectorAll。

考虑兼容性,它将在现代浏览器中运行,对于旧版浏览器,我将使用特征检测:

if (document.querySelectorAll) {
            var nodes = context.querySelectorAll(queryValue);
} else {
    var nodes = context.getElementsByTagName(queryValue);
}

使用此方法时是否应该注意哪些因素或是否适合生产?

所有意见重视

1 个答案:

答案 0 :(得分:2)

两者之间的主要区别在于:

getElementsByTagName

...将返回“实时列表”

querySelectorAll

......不会。

由于这似乎只是用于按标签选择,我可能会放弃qsa,因此您可以根据需要获得实时列表。我有一种感觉qsa在某些浏览器中可能会慢一些,但还没有测试过。


修改

This test显示Chrome 13中的两者之间存在巨大的性能差异。