下面是一些示例代碼。Javascript:訪問沒有getElementById的DOM元素
<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>
控制檯日誌返回id爲password
的DOM元素。警報是「警報」。
它也以正常代碼工作,例如, var x = wrapper.className;
這肯定是不對的? document.getElementById
,$('#password')
或goog.dom.getElement
如果只是這樣工作,那麼它有什麼意義?現在這些功能只適用於遺產嗎?
順便說一下,它可以在Firefox,Chrome和Safari中運行。
一些瀏覽器定義ID爲全局變量的元素。國際海事組織,使用'getElementById'。 –
你可以爲此感謝IE。他們啓動了它,其他人則爲了兼容性而進行了追蹤這被認爲是不好的做法。堅持使用'document.getElementById'或者您爲其提供示例的庫中的等價物。 –
[JavaScript未定義變量可能是自動定義的?](http://stackoverflow.com/questions/21340666/javascript-undefined-variables-are-auto-defined),也可以:http://stackoverflow.com/問題/ 15767961/are-ids-for-html-element-always-available-from-the-window-object和http://stackoverflow.com/questions/3434278/ie-chrome-are-dom-tree-元素全局變量 - 在這裏 –