javascript中的For循环给出错误?

javascript中的For循环给出错误?,javascript,jquery,Javascript,Jquery,我正在使用for循环。函数正在工作,但它也在控制台中抛出错误 $('input').keyup(function (e) { if (e.keyCode == 13) { var visible = $('ul').find('li span').filter(function () { if ($(this).css('display') != 'none') { return this }

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

$('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>

  • 一个
  • 两个
  • 两个
更改

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

for(i=0;i
这里有一个很好的方法可以正确地执行此操作:

$('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);
        });
    }
});

-1表示不可读的代码。您是否阅读了控制台中显示的错误?如果您识别了代码,您将看到额外的
}
(var i=0,l=visible.length;i
$('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);
        });
    }
});