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

时间:2011-09-22 13:35:46

标签: jquery jquery-selectors visible

编辑:此选择器正确无误。 bug必须在代码的其他地方。所以这个问题已经不再适用了。

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

EDIT3:具有未设置高度的内联元素。 JQuery说,任何高度为零的东西都被认为是不可见的,我想我的高度未知的元素默认为零。

<小时/> 这就是我所拥有的,但它似乎没有起作用..

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

我想选择.my-class元素可见的所有.parent-class元素。 谢谢!

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

您的选择器应该可以正常工作。在你的小提琴中,你没有包含jQuery库,所以它在那里不起作用!请参阅此updated fiddle

答案 2 :(得分:1)

如果您将jsfiddle中的框架更改为jquery而不是mootools,则可以使用

答案 3 :(得分:1)

你拥有它所以选择了父母的所有后代。 空间是“祖先运营商”。

如果您只想要直接孩子,请使用&gt;操作者:

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