Как я могу выбрать все элементы класса с видимым родителем? - PullRequest
0 голосов
/ 22 сентября 2011

РЕДАКТИРОВАТЬ: Этот селектор правильный.Ошибка должна быть в другом месте кода.Так что этот вопрос больше не актуален.

EDIT2: Реальная проблема заключалась в том, что к моему родительскому классу был прикреплен встроенный стиль «display: inline», по-видимому, видимый селектор не любит display: inline.После того, как я взял это, это начало работать.

EDIT3: Встроенный элемент с неустановленной высотой.JQuery говорит, что все, что имеет нулевую высоту, считается невидимым, я полагаю, что мой элемент с неизвестной высотой был по умолчанию установлен в ноль.


Это то, что у меня есть, но оно не работает..
   $('.parent-class:visible .my-class[state!="done"]')

Я хочу выбрать все элементы .my-class, чтобы их элемент .parent-class был виден.Спасибо!

Ответы [ 4 ]

1 голос
/ 22 сентября 2011

У вас есть, поэтому все потомки родителя выбраны. пробел является «оператором предка».

Если вам нужны только прямые потомки, используйте оператор>:

.parent-class:visible  > .my-class[state!="done"]'
1 голос
/ 22 сентября 2011

Ваш селектор должен работать, и он работает. В вашу скрипку вы не включили библиотеку jQuery, поэтому она там не работает! Смотрите это обновленная скрипка .

1 голос
/ 22 сентября 2011

если вы измените фреймворк в jsfiddle на jquery вместо mootools, он будет работать

1 голос
/ 22 сентября 2011

попробуй

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

вот скрипка http://jsfiddle.net/XAnqB/7/

...