当我尝试在元素上调用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
答案 0 :(得分:1)
这个问题已在这里得到解答:JavaScript getElementByID() not working
有时会在您的网站内容尚未加载并崩溃时发生。
希望有所帮助
EDIT1:你也可以试试这个: var yourvar = $(“#interaction4793”)[0]; 它对我有用