2012-09-19 105 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