(см. Ниже, почему вы, возможно, не хотите делать в точности то, что задается в вопросе)
Вы можете использовать [class="a"]
«атрибут равно селектору», хотя он хрупкий:
$('span[class="a"]').hide();
Проблема в том, что если у вас есть какой-либо пробел в атрибуте класса, он сломается.Смотрите эту скрипку: http://jsfiddle.net/c7DP7/
Это можно исправить, выполнив базовый запрос к этим элементам с помощью обычного селектора классов, а затем отфильтруйте их, проверяя, установлен ли только a
(и обрезайте пробелы в этот момент.фильтр).Смотрите эту скрипку: http://jsfiddle.net/uD48E/1/
$('.a')
.filter(function(index){
return $(this).attr("class").trim() == "a";
})
.hide();
Вопрос выглядит так, как будто он пытается сделать больше кода "будущего", но этот конкретный подход более хрупок.Отказ от всех классов, которые не связаны с текущим классом, для которого вы фильтруете, может привести к поломке по причинам, не связанным с классом a
(например, несвязанный класс d
или e
, который будет добавлен позже).Это важно, если в будущем HTML-код, к которому вы применяете jQuery, может быть изменен.
Лучший способ сделать это - отфильтровать только те классы, которые влияют на значение класса a
.Именно такая гибкость делает ваш код более перспективным.См. ответ Македисона , чтобы узнать, как лучше всего это сделать.