我有下面的方法,这是在IE中工作正常,但我得到以下错误:
TypeError:hdnButton .click不是函数
当我在Firefox中使用它时。
function PopupTest() {
var hdnButton = document.getElementById('div_btn').firstChild;
hdnButton.click();
}
谁能建议如何解决这个问题?我无法找到任何解决方案。
我有下面的方法,这是在IE中工作正常,但我得到以下错误:
TypeError:hdnButton .click不是函数
当我在Firefox中使用它时。
function PopupTest() {
var hdnButton = document.getElementById('div_btn').firstChild;
hdnButton.click();
}
谁能建议如何解决这个问题?我无法找到任何解决方案。
2条答案
按热度按时间nbysray51#
我的 * 猜测 *(因为你没有显示html)是你有一些白色(也许是一个换行符),IE忽略了,但FF作为文本节点返回。如果是这样,你应该能够跳过它,如下所示:
...它通过使用
.nodeType
属性来测试.firstChild
是否是文本节点(3
表示文本节点;更多信息请参见MDN)。如果是,它将获取下一个兄弟并测试其.nodeType
,依此类推,直到找到一个不是文本节点的元素。(当然,这假设会有一个。)或者,如果你知道(非文本节点)第一个子节点应该是什么标签,你可以在此基础上选择它,例如,如果它实际上是一个
<button>
元素:或者如果你不需要支持IE〈=7:
kninwzqo2#
检查document.getElementById('div_btn').firstChild;
如果它存在,可能还有另一个错误,例如空格,或者您在加载DOM之前调用了PopupTest()。
试试看: