document.getElementById不适用于Firefox

时间:2014-01-17 13:28:50

标签: javascript html firefox dom

当我尝试在元素上调用document.getElementById时,Firefox返回null。

这是电话

document.getElementById('interaction4793')

然而,该元素存在于DOM中。我能找到它

<interaction id="interaction4793">
    <action id="action3268" trigger="enter" type="hover" />
    <reaction delay="0" id="reaction3709" options="reloadOnly" target="page0001" transition="none" type="showPage" />
</interaction>

即使我从检查器中选择并使用$0技巧,它也会返回null:

document.getElementById($0.id)

当我尝试从getElementsById获取元素时,它可以正常工作。

编辑: Chrome和Safari不会返回null。我在Window和MacOS上测试了Firefox(版本26)都返回null。

EDIT2: 我认为Firefox不明白属性id是id。当我使用jquery搜索属性时,我可以找到交互:

console.log($('#interaction102').length); // returns 0
console.log($('[id="interaction102"]').length); // returns 1

1 个答案:

答案 0 :(得分:1)

这个问题已在这里得到解答:JavaScript getElementByID() not working

有时会在您的网站内容尚未加载并崩溃时发生。

希望有所帮助

EDIT1:你也可以试试这个: var yourvar = $(“#interaction4793”)[0]; 它对我有用