对于javascript中的循环给出错误?

时间:2013-08-01 11:44:09

标签: 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
            }
        }).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>

2 个答案:

答案 0 :(得分:5)

更改

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

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

答案 1 :(得分: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