Javascript:访问没有getElementById的DOM元素

时间:2014-04-16 22:46:30

标签: javascript dom getelementbyid

下面是一些示例代码。

<body>
    <div id="wrapper" class="access">
        <form id="test">
            <input id="password"></input>
            <input type="submit"></input>
        </form>  
    </div>
    <script>
        console.log(password);
        alert(wrapper.className);
    </script>
</body>

控制台日志返回标识为password的DOM元素。警报是“警报”。

它也适用于普通代码,例如var x = wrapper.className;

当然这不对吗? document.getElementById$('#password')goog.dom.getElement的重点是什么?这些功能现在只适用于遗产吗?

顺便提一下,它适用于Firefox,Chrome和Safari。

2 个答案:

答案 0 :(得分:3)

向后兼容性是ID映射到window的属性的原因。

这也是避免全局变量的一个主要原因 - 事实上,如果您尝试使用与元素ID同名的全局变量,某些浏览器将完全中断。

答案 1 :(得分:3)

这个答案应该会给你很多:

https://stackoverflow.com/a/6381766/944006

您不应该使用这些变量,并且您绝对不希望它们依赖于它们在浏览器中正常工作。