我正在尝试编写一个方法来抓取某个类名的所有元素,以用于没有'getElementsByClassName'方法的浏览器。这适用于服务器端生成的元素,但是页面能够动态添加元素由于某种原因'window.document.all'不能获得这些动态元素。有任何想法吗?方法如下。
function getClassName(class) {
var i, neededStuff = [], elements = document.getElementsByTagName('*');
for (i = 0; i < elements.length; i++) {
if (elements[i].className == class) {
neededStuff[neededStuff.length] = elements[i];
}
}
return neededStuff;
}
答案 0 :(得分:4)
class
是IE中的保留关键字。不要按字面意思使用它。将class
更改为theClass
。
另外,如果更改document.getElementsByTagName('*')
不执行此操作,请尝试document.all
而不是class
。
修改强>
http://work.arounds.org/sandbox/72
在IE6中完美适合我
让我尝试动态添加......
编辑#2:工作正常..
答案 1 :(得分:1)
使用jQuery:)
$('.ClassName')
将返回您的元素:)
然后你可以改变它的值,非常容易地添加类!
这里有一些很棒的教程