编辑:此选择器正确无误。 bug必须在代码的其他地方。所以这个问题已经不再适用了。
EDIT2:真正的问题是我的父类附加了内联样式“display:inline”,显然可见选择器不喜欢display:inline。我把它拿出后就开始工作了。
EDIT3:具有未设置高度的内联元素。 JQuery说,任何高度为零的东西都被认为是不可见的,我想我的高度未知的元素默认为零。
<小时/> 这就是我所拥有的,但它似乎没有起作用..
$('.parent-class:visible .my-class[state!="done"]')
我想选择.my-class
元素可见的所有.parent-class
元素。
谢谢!
答案 0 :(得分:1)
试
$(".parent-class:visible").children(".my-class[state!='done']").html("i am gone");
答案 1 :(得分:1)
您的选择器应该可以正常工作。在你的小提琴中,你没有包含jQuery库,所以它在那里不起作用!请参阅此updated fiddle。
答案 2 :(得分:1)
如果您将jsfiddle中的框架更改为jquery而不是mootools,则可以使用
答案 3 :(得分:1)
你拥有它所以选择了父母的所有后代。 空间是“祖先运营商”。
如果您只想要直接孩子,请使用&gt;操作者:
.parent-class:visible > .my-class[state!="done"]'