在父元素中查找可见的类元素[重复]
Posted
技术标签:
【中文标题】在父元素中查找可见的类元素[重复]【英文标题】:Finding a visible class element within a parent element [duplicate] 【发布时间】:2014-05-29 21:14: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>
【问题讨论】:
我在示例中添加了更多代码。见上文。 其实我一开始就使用了span元素。那个有问题。将其更改为 div ,现在它可以工作了。我没有在这里复制粘贴整个代码,因为它非常复杂。现在它起作用了。往上看。无论如何谢谢:) 【参考方案1】:这是你的做法:
$('#parent').find(':visible');
jsFiddle
【讨论】:
但我想找到一个可见的 .child 类。 #parent 中还可以有其他可见元素。您的代码很好,但它会在 #parent 中找到所有可见的类。 好的,当我使用你的例子时它仍然有效:jsfiddle.net/xqc4v/1 在我的代码中,子元素通过 display 属性定义为可见或不可见。如下图所示:一个 两个 好的,但它仍然有效:jsfiddle.net/xqc4v/5 如果它适合您,请花两秒钟时间接受我的回答。 :)【参考方案2】:你可以这样做Fiddle
$("#parentElement").children(':visible');
【讨论】:
【参考方案3】:大概是这样的:
获取父元素的所有子类元素
var childElements = $("#parent .child");
找到你想要的元素:
var foundIt;
childElements.each(function()
if(this.is(':visible'))
foundIt = this;
);
参考资料:
https://api.jquery.com/each/
Detect if an element is visible
编辑:
if(this.is(':inline'))
foundIt = this;
【讨论】:
以上是关于在父元素中查找可见的类元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在iframe窗体内 获取父级的元素;;在父窗口中获取iframe中的元素