使用 jQuery 获取所有 DOM 元素的最佳方法

发布于 2024-09-29 02:58:54 字数 245 浏览 1 评论 0原文

使用 jQuery 获取页面上所有 DOM 元素的最佳方法是什么?

谢谢,

DLiKS

编辑:这用于使用grayscale.js对整个页面进行灰度化的脚本 - http: //james.padolsey.com/demos/grayscale/。 jQuery 因为我可以! :P

What's the best way to get all of the DOM elements on a page using jQuery?

Thanks,

DLiKS

Edit: This is for use in a script that grayscales an entire page using grayscale.js - http://james.padolsey.com/demos/grayscale/. jQuery because I can! :P

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮世清欢 2024-10-06 02:58:54
var allOfThem = $('*');

为此,您实际上并不需要 jQuery:

var allOfThem = document.getElementsByTagName('*');
var allOfThem = $('*');

You don't really need jQuery for this:

var allOfThem = document.getElementsByTagName('*');
離殇 2024-10-06 02:58:54

document.getElementsByTagName("*") 将返回所有 DOM 元素作为“实际”元素,及其所有内容和属性以及所有内容。

$('*')$("body *") 将返回“jQuery 对象”数组,每个对象仅指向 true 元素。要获取真正的元素,您必须使用特定的 jQuery 对象。

猜测这种差异是导致获取所有元素与获取所有 jQuery 对象时浏览器崩溃的行为的原因。

document.getElementsByTagName("*") will return all DOM elements as "actual" elements, with all their contents and properties and everything.

$('*') or $("body *") will return array of "jQuery objects", each only pointing on true element. To get the true element, you'll have to use the specific jQuery object.

Guess this difference is what causing this behavior of browser crashing when getting all elements vs. getting all jQuery objects.

扭转时空 2024-10-06 02:58:54

看来你想要 $("body *"),它相当于 document.documentElement.getElementsByTagName('*')

奇怪的是,getElementsByTagName('*' ) 似乎使我的 Firefox/Firebug 崩溃,而 jQuery 版本工作正常

It seems you want $("body *"), which is equivalent to document.documentElement.getElementsByTagName('*')

Weirdly, getElementsByTagName('*') seems to crash my Firefox/Firebug, while jQuery version works fine

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文