爲什麼在ie8中工作?ie8中元素ID的奇怪行爲
function testFunction(ctrl)
{
alert(ctrl.value);
}
我在我的頁面上有一個JavaScript函數,像這樣。然後,我有一個輸入的標籤爲「text1」中的ID和以下onclick事件
<input id="text1" value="value" />
<input type="submit" onclick="testFunction(text1)" value="Click" />
javascript函數確實提醒文本框的值的按鈕,但我只是傳遞的標識文本框,不加引號。我不必打電話給getelementbyid,它只是起作用。什麼是在這裏做,它不適用於Firefox。如何將id變成實際的文本框對象,並且我可以調用它的cntrl.value?
P.S. - 我知道我不應該以這種方式使用onclick處理程序,只是一個簡單的方法來說明問題。
感謝
同意。還有一點需要注意的是:直接在代碼中使用id,而不是使用getElementById(),這是你在網絡JavaScript的早期時間裏總是看到的那種東西,這種做法當時被一些人鼓勵當時那些狡猾的「如何編寫JavaScript」網站。 (不喜歡*現在*,當「如何寫JavaScript」網站的100%提供100%準確的建議。)(我希望。) – nnnnnn 2011-05-26 23:52:27
非常接近-1。與DOM 0無關,與專有IE行爲有關的一切。 DOM 0是瀏覽器之間常見的東西,但DOM 1之外。 – RobG 2011-05-27 01:31:41
是的,可能更多的是DOM 0+。這是一個與DOM1尚未完成的同一時代的怪癖,但它仍然像DOM 0一樣工作,因爲它是由瀏覽器完成的自動映射,可讓您在不使用任何正式API的情況下訪問元素。 – gonchuki 2011-05-27 16:29:12