-2

我正在使用 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>
4

2 回答 2

5

改变

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

for(i = 0; i < visible.length;i++){
于 2013-08-01T11:45:26.367 回答
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);
        });
    }
});

小提琴

于 2013-08-01T11:50:45.763 回答