我正在使用 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 的解决方案。对我来说 querySelectorAll
和 querySelector
就足够了,但如果有办法实现更多功能那就太好了!
我开始研究 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/