javascript - .is (':visible' ) 在 jQuery 中不起作用

标签 javascript jquery html

我在 jquery 中使用 .is(':visible') 方法,但它没有按预期工作。

Here is my code snippet

我错过了什么?

HTML:

<div class="str">

    <ul><li>1</li><li><a href="#">hide</a></li></ul>
    <ul><li>2</li><li><a href="#">hide</a></li></ul>
    <ul><li>3</li><li><a href="#">hide</a></li></ul>
    <ul><li>4</li><li><a href="#">hide</a></li></ul>
    <ul><li>5</li><li><a href="#">hide</a></li></ul>
    <ul><li>6</li><li><a href="#">hide</a></li></ul>

    <div class="length"></div>

</div>

jQuery:

$(function(){

    $('.str ul').find('a').live('click',function(){
       $(this).closest('li').parent().hide();
       var ll= $('.str').find('ul').each(function(){  
           $('.length').text( $('.str').find('ul').is(':visible').length );  
        });   
    });

});

最佳答案

使用:$('.str').find('ul:visible').length

jsFiddle demo

$(function(){
    
    $('.str ul').on('click','a',function(){    
       $(this).closest('li').parent().hide();
        
       var visibleUL = $('.str').find('ul:visible').length;      
       $('.length').text( visibleUL );        
       alert(visibleUL );
        
    });
    
});

.is() 返回一个 bool 值(true/false)时,:visible 选择器以所需元素为目标创建一个元素数组集合 - 返回有效数组所需的正是length

关于javascript - .is (':visible' ) 在 jQuery 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034517/

相关文章:

javascript - 菜单从左侧滑出

javascript - onCollapse 将父节点设置为选定节点,如果子节点/孙节点已被选中(bootstrap treeView)

javascript - 无法动态地将 div 内容复制到 dojo contentpane 中

javascript - 在多级下拉菜单中,如何防止子菜单重叠

javascript - HTML5 视频的高清控制

javascript - 获取映射中unitSystem 的变量值

html - 左右两张图片的导航栏,中间有一个搜索框

javascript - 如何在柯里化(Currying)函数中访问前一个函数的结果?

javascript - 关于 jquery 在一个类中的作用域

javascript - 如果所有子复选框均未选中,如何删除选中的复选框?