我正在尝试编写一种方法,为没有“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;
}
最佳答案
class
是IE中的保留关键字。不要按字面意思使用它。将 class
更改为 theClass
之类的内容。
此外,如果更改 class
不起作用,请尝试 document.getElementsByTagName('*')
而不是 document.all
。
编辑:
http://work.arounds.org/sandbox/72
在 IE6 中非常适合我 ^
让我尝试动态添加...
编辑#2:工作正常..
关于javascript - 使用 document.getElementsByTagName 找不到动态添加的元素(IE6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565311/