這將有助於很大程度上看到相關的HTML片段。
在代碼中,似乎elems[i]
是選擇元素,elems[i].studentid
是讀取命名屬性studentid的嘗試。相關的HTML可能是這樣:
<select studentid="..." ...>
有一個叫沒有標準的HTML選擇元素屬性studentid,即使該屬性已被添加到選擇元素,因此,它不會是可作爲Firefox的一個屬性(可能還有其他瀏覽器)。因此,測試失敗的:
elems[i].studentid
了火狐將返回undefined
,其計算結果爲假。但是,IE會將非標準屬性添加爲屬性,因此如果屬性已設置,則測試可能會通過IE。
要訪問非標準屬性應使用的getAttribute方法,跨瀏覽器的兼容性,所以測試可能是:
elems[i].hasAttribute('studentid') && elems[i].getAttribute('studentid') == studid ...
似乎有不被在hasAttribute
測試的任何值,這樣可能會被丟棄。由於elems[i]
被多次使用,我還會保存結果:
var elem = elems[i];
if (elem.getAttribute('studentid') == studid && elem.selectedIndex == 0) {
elem.selectedIndex = 1;
}
定義「不起作用」。你期望'elems [i] .studentid'是什麼? – RobG 2013-03-28 03:07:35
查看下面的評論羅布。由於 – Fandango68 2013-03-28 05:09:38