jQuery: выберите класс и идентификатор элемента одновременно?

У меня есть несколько ссылок, которые я хочу выбрать class и id одновременно.

Это потому что у меня есть 2 разных поведения. Когда класс ссылок получает одно имя класса, они ведут себя одним образом, когда те же самые классы ссылок получают другое имя класса, они ведут себя по-разному. Имена классов переключаются с помощью jquery.

поэтому я должен иметь возможность выбрать класс ссылок и id одновременно. Возможно ли это?

Я попробовал:

 $("a .save #country")

без какого-либо результата.

6 ответов


вы можете сделать:

$("#country.save")...

или

$("a#country.save")...

или

$("a.save#country")...

как вы предпочитаете.

Так что да, вы можете указать селектор, который должен соответствовать ID и class (и потенциально имя тега и все остальное, что вы хотите бросить).


просто добавить, что ответ, который предоставил Алекс, работал для меня, а не тот, который выделен как ответ.

это не сработало для меня

$('#country.save') 

но этот сделал:

$('#country .save') 

Итак, мой вывод-использовать пространство. Теперь я не знаю, относится ли это к новой версии jQuery, которую я использую (1.5.1), но в любом случае надеюсь, что это поможет кому-либо с аналогичной проблемой, которая у меня была.

edit: полный кредит для объяснение (в комментарии к ответу Алекса) идет к Феликсу Клингу, который говорит:

пробел является селектором потомков, т. е. a b означает " сопоставить все элементы, которые сопоставьте B, которые являются потомком элементов, соответствующих A". AB означает " выбрать все элемент, который соответствует A и B". Так что все зависит от того, чего вы хотите достичь. #country.save и #country .save не эквивалентны.


он будет работать при добавлении пространства между id и идентификатором класса

$("#countery .save")...


в конце концов применяются те же правила, что и для css.

Так я думаю этой ссылке может быть полезной.


$("a.save, #country") 

будет выбрать оба " a.сохранить "класс и" страна " id.


Как насчет этого кода?

$("a.save#country")