2013-08-01 81 views
-2

我正在使用for循环。函数正在工作,但它也在控制台中抛出错误。在javascript中给循环给出错误?

$('input').keyup(function (e) { 
    if (e.keyCode == 13) { 
     var visible = $('ul').find('li span').filter(function() { 
      if ($(this).css('display') != 'none') { 
       return this 
      } 
     }).get(); 
     console.log(visible.length) 
     for (i = 0; visible.length; i++) { 
      console.log(visible[i].id) 
     } 
    } 
}) 

身体

<input type="text" /> 
<ul> 
    <li> <span id="one">one</span> </li> 
    <li> <span id="two">two</span> </li> 
    <li> <span id="three" style="display:none">two</span> </li> 
</ul> 
+0

来吧男人...... – DontVoteMeDown

+0

-1不可读的代码。 – Virus721

+0

你读过控制台中显示的错误吗? – Abhitalks

回答

5

变化

for(i=0; visible.length;i++){ 

for(i = 0; i < visible.length;i++){ 
+1

为'for(var i = 0,l = visible.length; i Virus721

2

这里是一个很好的方式,以做是正确的:

$('input').keyup(function (e) { 
    if (e.keyCode == 13) { 

     var $visible = $('ul').find('li span').filter(function() { 
      return $(this).css('display') != 'none'; 
     }).get(); 

     console.log($visible.length); 

     $.each($visible, function (index, value) { 
      console.log($(value)[0].id); 
     }); 
    } 
}); 

FIDDLE