javascript - 使用 document.getElementsByTagName 找不到动态添加的元素(IE6)

标签 javascript internet-explorer-6

我正在尝试编写一种方法,为没有“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:工作正常..

http://work.arounds.org/sandbox/72

关于javascript - 使用 document.getElementsByTagName 找不到动态添加的元素(IE6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565311/

相关文章:

asp.net-mvc - 显示作为 ActionResult(字节数组)返回的图像会导致 IE6 卡住

javascript - javascript中是否有更安全的类似eval的函数无法解析变量?

javascript - 在选择下拉列表中选择特定选项时添加输入框

javascript - 使用正则表达式在 jQuery 中将字符添加到字符串前面

javascript - jquery.flash 插件在 IE6 中不工作

javascript - IE6 出现 "Access is denied"错误

javascript 选项选择 IE6 与 FF2

javascript - 二维游戏算法来计算子弹击中目标所需的速度?

javascript - 如何使用 React JS 插入下拉菜单

javascript - IE6 : Background-Image Load Event