2013-07-05 32 views
0

誰能好心澄清這IE 7會引發錯誤時,變量名是相同元素的ID名稱

new_pswd = $('#new_pswd').val() // does not work in ie 7 but works in all other 

當我把它改成

newer_pswd = $('#new_pswd').val() // it works even in ie 

我想可能是IE 7不支持如果變量名稱與元素名稱相同id'sor even other versions I dont really know because right now i have Ie 7 installed on my pc

任何幫助,非常感謝。由於

回答

3

具有可變等於做一個元素的id認爲要素,因爲它聽起來瘋狂,實際上是HTML Standard一個部分:Window對象

6.2.4命名訪問

Window接口支持命名屬性。在任何時刻,在支持的屬性 名稱由以下的,按照樹形結構順序,忽略 後來重複:

  • ...
  • 任何HTML元素id內容屬性在 價值具有非空id內容屬性的活動文檔。

這裏只是測試:

  • 在IE7和IE8可以值不分配給一個變量,它是一個元素ID。
  • 在IE 9和Chrome中你可以。
  • Firefox:有一些副作用,但:版本13只適用於怪癖模式;版本14和更新的標準模式。

DOM Element References as Global VariablesDOM: element IDs are global variables中有一些有用的討論。

底線:請勿使用屬於元素ID的變量名稱。最終,它具有不可預知的行爲。如果您打算使用它們,請至少閱讀這兩篇文章。

相關問題