如何选择具有可见父级的类的所有元素?

问题描述 投票:0回答:4

这是我的,但似乎不起作用..

   $('.parent-class:visible .my-class[state!="done"]')

我想选择其

.my-class
元素可见的所有
.parent-class
元素。


编辑1:这个选择器是正确的。代码中的其他地方肯定存在错误。所以这个问题已经不再重要了。

编辑2:真正的问题是我的父类附加了内联样式“display:inline”,显然可见选择器不喜欢display:inline。我把它拿出来后,它就开始工作了。

编辑3:未设置高度的内联元素。 jQuery 说任何高度为零的东西都被认为是不可见的,我想我的高度未知的元素默认为零。

jquery jquery-selectors visible
4个回答
1
投票

你的选择器应该可以工作,而且它确实可以工作。在你的小提琴中,你没有包含 jQuery 库,所以它在那里不起作用!请参阅此更新的小提琴


1
投票

如果你将 jsfiddle 中的框架更改为 jquery 而不是 mootools,它就可以工作了


1
投票

您拥有了它,因此父级的所有后代都被选中。 space 是“祖先运算符”。

如果您只想要直接子级,请使用 > 运算符:

.parent-class:visible  > .my-class[state!="done"]'

1
投票

尝试

 $(".parent-class:visible").children(".my-class[state!='done']").html("i am gone");

这是小提琴http://jsfiddle.net/XAnqB/7/

© www.soinside.com 2019 - 2024. All rights reserved.