JavaScript document.querySelector() 与 jQuery $() 方法相同吗?

标签 javascript jquery css dom document

我一直想知道为什么当 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/

相关文章:

javascript - ExtJS 4 - 无法读取未定义的属性 'substring'

javascript - Angularjs 应用程序中的 ngTable

javascript - 如何在 React 中重新排序树对象?

jquery - 为什么我的顶部栏图像不在所有其他元素之上?

css - html 使 <td> 高度与宽度成正比

javascript - HTML标签<audio>在不同浏览器中的表现

javascript - 如何复制JQtouch流畅的iphone动画?

javascript - 网站应用程序的文件上传插件和显示

javascript - 在 HTML 中为非列表项创建实时搜索

javascript - 如何到达这个元素?