在父元素中查找可见的类元素

Finding a visible class element within a parent element

本文关键字:元素 查找      更新时间:2023-09-26

如何使用jQuery在父元素中找到可见的子元素?

例如,尝试了以下(以及许多其他),但都不起作用。

var childelement = $("#parent").find(".child:visible");

父元素中有许多子元素,但同时只有一个子元素可见。所有子元素都是用相同的类名定义的。

编辑:在我的代码中,使用display属性将子元素定义为可见或不可见。类似于以下内容:

<span class="child" style="display: inline;">One</li>
<span class="child" style="display: none;">Two</li>

解决方案用

<div class="child" style="display: inline;">One</li>
<div class="child" style="display: none;">Two</li>

以下是您的操作方法:

$('#parent').find(':visible');

jsFiddle

你可以这样做Fiddle

$("#parentElement").children(':visible'); 

也许是类似的东西

  • 获取父元素的所有子类元素

    var childElements = $("#parent .child");
    
  • 找到你想要的元素:

    var foundIt;
    childElements.each(function(){ 
     if(this.is(':visible')){
        foundIt = this;
     }
    });
    

参考文献:

  • https://api.jquery.com/each/

  • 检测元素是否可见

编辑:

  if(this.is(':inline')){
        foundIt = this;
     }