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

时间:2010-10-26 13:17:21

标签: javascript jquery jquery-selectors

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

谢谢,

DLiKS

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

3 个答案:

答案 0 :(得分:16)

var allOfThem = $('*');

你真的不需要jQuery:

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

您似乎想要$("body *"),相当于document.documentElement.getElementsByTagName('*')

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