【发布时间】:2013-03-19 17:51:37
【问题描述】:
我在一个 html 页面中有一个这样的 dom 对象:
<textarea id="owctl7fzk">foo</textarea>
当我尝试使用 getElementById 访问它而不引用 ID 时,它返回 null。
window.document.getElementById(owctl7fzk)
但是当我将 id 放在单引号或双引号内时,它会选择对象:
window.document.getElementById('owctl7fzk')
window.document.getElementById("owctl7fzk")
为什么在这种情况下引用很重要?一般来说,什么时候可以省略,什么时候不可以?
编辑 在我上面介绍的代码中,id 是一个十六进制数。我以前有一个没有引号的十进制数字作为 id,它没有问题。为什么会这样?
【问题讨论】:
-
只是因为
getElementById需要一个字符串。如果浏览器不会在全局范围内为具有 ID 的元素创建变量,getElementById(owctl7fzk)实际上会抛出错误,因为owctl7fzk是一个未定义的变量。 -
@FelixKling 浏览器真的那么做吗?这太疯狂了。
标签: javascript html dom