2010-08-13 103 views

回答

15

https://developer.mozilla.org/en/DOM/document.getElementsByClassName

E:不在IE < 9本机支持,所以你必须扩展文件/使一个像这样的全球功能:http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/或使用类似sizzlejquery - 感谢下面的评论。

+1

在IE不支持。 http://www.quirksmode.org/dom/w3c_core.html#t11 – user113716 2010-08-13 16:41:46

+0

刚刚意识到,对不起。血色IE ..更新。 – dmp 2010-08-13 16:56:50

+0

看起来我们正在承诺支持IE9。 – UpHelix 2010-08-13 21:48:13

14

已经构建了许多解决方案来解决没有本机getElementsByClassName的浏览器的问题。如果您使用任何现代JavaScript库(例如jQuery,Prototype),它们会自动删除这些浏览器特定的空白。

因此,例如,使用jQuery:

$('.foo').get(); 

返回所有的DOM元素与foo类,在任何浏览器。

如果你只想要这个特殊的问题解决了,又不想使用全库,你可以尝试使用类似The Ultimate GetElementsByClassName,它可以让你有:

getElementsByClassName('foo') 

虽然这是一个几年老,John Resig's comparison of various solutions这个问题还是有价值的。