关于javascript:在父元素中查找可见的类元素

Finding a visible class element within a parent element

本问题已经有最佳答案,请猛点这里访问。

如何使用jquery在父元素中查找可见的子元素?

尝试过,例如以下(和许多其他)不起作用。

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

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

编辑:在我的代码中,子元素通过显示属性定义为可见或不可见。类似于以下内容:

1
2
3
4
5
<span class="child" style="display: inline;">One
</li>

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

解决方案让它和这个一起工作:

1
2
3
4
5
One
</li>

Two
</li>


您可以这样做:

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

J小提琴


你可以这样做

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


可能是沿着以下几条线:

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

    1
    var childElements = $("#parent .child");

  • 查找所需元素:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var foundIt;

    childElements.each(function(){

     if(this.is(':visible')){

        foundIt = this;

     }

    });

参考文献:

  • https://api.jquery.com/每个/

  • 检测元素是否可见

编辑:

1
2
3
4
5
  if(this.is(':inline')){

        foundIt = this;

     }