javascript - 浏览器添加 HTML5 queryselector 不支持

标签 javascript jquery html cross-browser

我正在使用 HTML5 selectors API始终称为 querySelector。这些选择器真的很容易使用而且很少。如果您不熟悉此 API,它与 jQuery 选择器 API 非常相似,它们获取 CSS 选择器字符串并选择正确的元素。例如,这些选择器的工作方式相同:

jQuery('#div') == document.querySelectorAll('#div')

jQuery('.myClass a') == document.querySelectorAll('.myClass a');

Browser support这个API很不错。 IE8 支持它们。仅有的两个不支持此 API 的浏览器是 IE7 和 IE6。我正在寻找将此功能添加到 IE7 和 IE6 的解决方案。对我来说 querySelectorAllquerySelector 就足够了,但如果有办法实现更多功能那就太好了!

我开始研究 jQuery code ,他们以前做过,所以这是了解他们如何创建选择器 API 的好地方,但我不理解代码。有什么想法吗?

最佳答案

您可以简单地使用原始的 Sizzle jQuery 使用的引擎(由 jQuery 的作者 John Resig 编写)。

这是 Sizzle 自己的描述:

A pure-JavaScript CSS selector engine designed to be easily dropped in to a host library.


如果您想确保在原生支持 querySelectorAll 的情况下不使用 Sizzle(即使 Sizzle 将始终使用 querySelectorAll可用时),使用这个:

if ( ! document.querySelectorAll ) document.querySelectorAll = Sizzle;

关于javascript - 浏览器添加 HTML5 queryselector 不支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523424/

相关文章:

javascript - 如何从 .jsx 脚本中调用 ReactJS 元素上的 jQuery 函数?

javascript - jquery 对话框中的按钮不显示

jquery - 将 jQuery 与 Sitecore 结合使用

javascript - 需要帮助根据屏幕宽度删除或​​隐藏 div

javascript - 如何创建执行多重组合的函数?

javascript - .isPointInPath() 用于描边线和折线

javascript - 谷歌 OAuth : No 'Access-Control-Allow-Origin' header is present on the requested resource when trying to make get request

javascript - 你可以在android webview中自动链接日期吗

javascript - 改进的 JavaScript 构建过程

javascript - 如何在 Rails Turbolink 中正确使用 jQuery $().load(url)?