我是javascript的新手,我刚刚发现了一个我从未见过的javascript行为.如果我有一个带有指定id的DOM元素,比如"x",那么在我的javascript中,该元素会自动分配给变量x.我在chrome和safari中看到了这一点.这是javascript的文档功能吗?
例如:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id='x'>
<input type='text' name='info' id='info'/>
<input type='submit' name='submit' value='Complete'/>
</form>
<script type='text/javascript'>
window.onload = function() {
alert( x==document.getElementById('x') );
info.value = 'Test me!';
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
加载后,它会提示为true,输入区域将显示"Test me!".如果这是正确的行为,为什么我们需要document.getElementById呢?
Šim*_*das 10
HTML标准(第6.2.4节)中记录了此行为.
标准定义了"命名元素",它们是具有一个name或id属性集的HTML元素.(请注意,该name属性仅在某些类型的HTML元素上定义.)
对于每个命名元素,浏览器(环境)定义相应的全局属性.
SLa*_*aks -3
这是 IE 独有的非标准功能。
不要依赖它。