2012-09-19 106 views
0

即時通訊嘗試隱藏一系列元素與.each函數替換for循環不工作在IE9,而代碼工作在FF它不會在IE中工作。jquery .each()不工作在IE 9

var myArray=document.getElementsByName("hide[]"); 
$.each(myArray, function(i, id) {$("#" + myArray[i].attributes["id"].value).hide();}); 

不能完全確定什麼失敗

for循環形式

for (var i = 0; i < myArray.length; i++) 
    { 
    $("#" + myArray[i].attributes["id"].value).hide(); 
    } 
+3

_a for循環在IE9_中不工作我們可以看到你的'for'循環嗎? – undefined

+2

爲什麼你使用這個醜陋的DOM和jQuery組合? – ThiefMaster

+1

爲什麼不使用'$(myArray).hide()'? –

回答

9

你爲什麼要使用getElementsByName?只需使用jQuery獲取元素,然後只需.hide即可。

$('[name="hide[]"]').hide(); 
+0

這樣做的技巧,所以即時提升之前,我可以接受,問題知道一種方式來說,有jQuery的單一數組中的一個元素,因爲雖然這使得它的工作做得有點草率 – ert3

+2

是的,'.eq(n) '將在索引'n'處選擇元素 –

+0

jQuery的美麗和簡潔,無法抗拒! – Nelson