當你創建一個HTML元素,並添加一個ID給它,如:如何在JavaScript中處理破折號ID? (自動全局變量創建)
<div id="test"></div>
它會自動提供JavaScript作爲變量test
無需使用document.getElementById("test")
。
我想知道的是,當你創建一個破折號的ID會發生什麼,如:
<div id="test-one"></div>
該元素將仍然可以在Javascript中通過一些變量或變量不會被創造出來的?我試圖檢查test-one
和testOne
的值,但沒有一個包含某些內容。
編輯
我想大多數人都誤解了這個問題。我知道用破折號創建一個變量是完全有效的。
這就是問題所在: http://jsfiddle.net/jn33bgkd/
你並不需要使用document.getElementById
JavaScript,因此與ID的名稱相同(我知道這是一個不好的做法,利用這些,我只是想將自動創建全局變量知道什麼是行爲) 但是,如果ID有短劃線,則不會創建這些全局變量。問題是如果具有帶短劃線的ID的元素的全局變量實際上是未創建的,或者是使用不同的名稱創建的。
有你測試了它......是什麼結果 –
我知道使用破折號是有效的,我想知道,如果含有同名的HTML元素的全局變量該id仍然會被創建。 –
僅供參考,它通常被認爲使用這些自動創建的全局變量擺在首位,因爲它太簡單了一些其他的JavaScript結束了與他們衝突的一個貧窮的戰略。只需使用'document.getElementById(「test-one」)'忘記自動創建的全局變量。 – jfriend00