我使用的是 Chrome 30.0.1599.101 并且 name
有问题元素:它没有属性。
<html>
<body>
<form>
<input name="name" id="name" type="text">*<br>
<input name="pass" id="pass" type="text">*<br>
</form>
<script>
var name = document.getElementById("name");
var pass = document.getElementById("pass");
console.log(name); // no properties
console.log(pass); // everything ok
</script>
</body>
</html>
为什么有 name
元素没有属性?这不仅仅是控制台问题 - 代码中无法访问属性。但是,在 Firefox 浏览器中一切正常。即使在同一个浏览器中使用完全相同的代码(Gurpreet Singh),一切正常。我试过 <!DOCTYPE html5>
正如 Uooo 所建议的那样,尝试重置浏览器,但在本地主机上仍然没有成功。
截图如下:
如果我更改名称 name
对于其他东西,属性是可见的。
最佳答案
name
已经是 a global property (window
的属性),不仅如此,它还是一种类型化的 (String
)。
var name = ...
本质上与 window.name = ...
相同。使用另一个实际上尚未使用的变量名,您应该没问题。
关于javascript - 缺少 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19538923/