我一直想知道为什么当 JavaScript 具有通用的 document.querySelector()
时,人们却赞美 jQuery 的 $(".myClass")
方法。我在这里缺少什么吗?为什么不直接使用 document
对象呢?
我是 JavaScript 的新手,所以我不知道 document.querySelector()
有某种类型的骗局吗?
我真的很想知道,因为我之前遇到过类似的事情,我想知道它是否对我所处的情况有帮助:
var retrieve = function( s ) {
return document.querySelector( s );
};
retrieve(".myClass").style.display = "block";
注意事项
我完全不反对 jQuery。事实上,我喜欢它。但是,当我刚刚尝试学习 JavaScript 时,我不想使用简单的预制现成工具来欺骗自己。
任何帮助将不胜感激! :-)
最佳答案
跨浏览器和旧版支持。
如果您不想使用 Jquery,也可以使用 getElementsByClassName()。对 post on devshed 有回应按用户:您可能感兴趣的 KorRedDevil。
我从您的帖子中提取了您的函数并使其返回一个数组。在您拥有该元素数组之后,您所要做的就是遍历它们。你可以试试here .
Javascript:
var retrieve = function(className) {
return document.getElementsByClassName(className);
};
var elements = retrieve('foo');
for (var i = 0; i < elements.length; i++)
elements[i].style.background = '#dfd';
标记:
<p class="foo">foo</p>
<p class="bar">bar</p>
<p class="foo">foo</p>
<p class="foo">foo</p>
<p class="bar">bar</p>
<p class="bar">bar</p>
关于JavaScript document.querySelector() 与 jQuery $() 方法相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115375/