javascript - queryselector全部用法

标签 javascript

我目前正在更新我的组织自定义 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/

相关文章:

javascript - 未被捕获的TypeError:AA不是函数(Youtube API)

javascript - ng-repeat 中 "active"项目的条件 ui-view

javascript - 获取 html DOM 元素内容周围的边框

javascript - 如何更改 D3 中的默认轴标签

javascript - 重复使用相同的弹出窗口

javascript - 在 onKeyUp() 上格式化导致光标跳到输入字段的末尾

Javascript - 获取计算机方程的最小整数解

javascript - 主干模板方法差异

javascript - 如何从 base64 编码的字符串重建音频 blob?

Javascript 仅适用于 alert();