我最近发现我可以在 javascript 中使用来自 DOM 的任何对象,并直接引用其 id:
<div id="layer">IM A LAYER</div>
<script>
alert(layer.innerHTML);
</script>
如果这是真的,那么使用 getElementById 方法我会得到什么好处?
我最近发现我可以在 javascript 中使用来自 DOM 的任何对象,并直接引用其 id:
<div id="layer">IM A LAYER</div>
<script>
alert(layer.innerHTML);
</script>
如果这是真的,那么使用 getElementById 方法我会得到什么好处?
如果元素不存在,直接访问 DOM 元素会给你一个错误。如果你使用getElementById
它会返回NULL
。
您也不能直接访问所有元素,例如,如果它们的名称中有破折号 ( some-id
),因为 JS 变量不能包含破折号。但是,您可以使用window['some-id']
.
例如,如果在您的页面中,您在其他地方有另一个先前的脚本
<script>
var layer = false; // or any other assignment
</script>
layer
将是对 的引用window.layer
,然后layer.innerHTML
将失败。与document.getElementById
您一起避免这个棘手的错误
这仅适用于id
' 包含变量名允许的字母。对于 id 之类的text-11
,否则item-key-21
将无法正常工作。