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

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

谢谢,

DLiKS

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

var allOfThem = $('*'); 

你真的不需要jQuery:

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

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

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

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

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

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