gpt4 book ai didi

javascript - IE 不支持 DOM 值属性?

转载 作者:行者123 更新时间:2023-11-29 20:12:39 25 4
gpt4 key购买 nike

所以,我有一小段 javascript 代码可以制作弹出式 div。它完全按照我的预期工作。但是后来我在 IE 上试了一下,它不起作用(惊喜!)。我(震惊地)发现 IE 有一个开发人员控制台,可以使用 javascript 断点。因此,我检查了我的代码,发现 IE 在以下代码的第 4 行遇到错误:

function makePopUp() {
div = document.getElementById("shell");
if(!div) {
email = document.getElementById("email").value; //HERE IS THE ERROR!
popupshell = document.createElement("div");
popupinner = document.createElement("div");
popupshell.id = "shell";
popupinner.id = "inner";
popupinner.innerHTML = "A crazy long string (HTML of the popup)"
popupshell.appendChild(popupinner);
document.body.appendChild(popupshell);
}
else { //This just blinks the popup window if it already exists.
blink(div);
t = setTimeout("blink(div);",100);
t = setTimeout("blink(div);",200);
t = setTimeout("blink(div);",300);
t = setTimeout("blink(div);",400);
t = setTimeout("blink(div);",500);
}
}

IE 给我错误“对象不支持此属性或方法”。我假设它指的是我拥有的 ID 为“电子邮件”的输入标签的值属性。此属性是 DOM 1&2...所以 IE 应该能够解释它。有没有人有解决此问题的方法,或者我的代码实际上应该出错而我只是愚蠢?

最佳答案

您的问题不在于“值”属性。问题是您没有使用 var 声明局部变量。

    var email = document.getElementById("email").value;  //HERE IS THE ERROR!

Internet Explorer 将元素的“id”值视为引用相应 DOM 节点的 window 属性。如果没有 var,变量“email”将是全局符号,IE 不喜欢您为其分配字符串的想法。

关于javascript - IE 不支持 DOM 值属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com