Потомок или селектор в jQuery - PullRequest
4 голосов
/ 09 апреля 2010

Я хочу найти все элементы с классом needle во всех элементах, возвращаемых jQuery('.haystack') и попытался jQuery('.haystack .needle'), но, похоже, это не подходит для случая, когда элемент имеет оба класса. Есть ли селектор, который сделает это?

Ответы [ 2 ]

5 голосов
/ 09 апреля 2010

Попробуйте комбинация селекторов :

jQuery('.haystack.needle, .haystack .needle');

Это выберет все .haystack s, которые также .needle s, и любые .needle, которые являются потомками .haystack, что, я думаю, именно то, что вы просили: -)

1 голос
/ 09 апреля 2010

Вы делаете это без пробелов, как здесь:

jQuery('.haystack.needle')

Альтернатива:

jQuery('.haystack').filter('.needle')

С пробелом, который он ищет потомков из этих .haystack элементов с .needle, без пробела вы соответствуете тем же элементам, но говорят, что они должны иметь оба класса, чтобы соответствовать сейчас. Это также то, что делает .filter(), это дополнительно сокращает совпадения, установленные для тех элементов, которые также соответствуют селектору, который вы передаете в него.

...