jQuery, выберите элемент с точным соответствием класса - PullRequest
0 голосов
/ 04 мая 2018

Можно ли выбрать точно соответствующий элемент класса, например:

<i class="icon user"></i>
<i class="icon user add"></i>
<i class="icon user remove"></i>

так что если я хочу нацелиться

$("i.icon.user");

но проблема в том, что все три элемента выбраны, так как все они имеют общие классы "icon" и "user"

Я не могу использовать :not() в этом случае, чтобы исключить классы, так как это будет динамический выбор, и я не буду знать заранее.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Если вы хотите выбрать определенный класс, который вы можете сделать в jQuery с помощью селектора.

Просто используйте как, если вы хотите выбрать добавить класс:

$('i.icon.user.add').text();

это даст вам то, что вы хотите, зависит от ваших требований

 var add = $('i.icon.user.add').text()
 alert(add)

JSfiddle здесь!

0 голосов
/ 04 мая 2018

Я настоятельно рекомендую вам указать элемент, который вы хотите настроить для другого класса.

<i class="icon user theUser"></i>

Или что-то и нацелиться на этот дополнительный класс. Для этого есть разные причины. Во-первых, для точного соответствия вам нужно будет сделать некоторые предположения.

1) Потенциально на основе позиции: вы можете проверить, точно ли класс соответствует «значку пользователя», но если случится, что классы перевернуты, он не найдет его. хрупкая

2) Количество классов: Вы можете проверить, что элементы имеют только два класса, но если позже будет случай, когда добавится третий класс, это также сломается. хрупкая

Просто добавив третий класс к этому элементу, чтобы отличить его от двух других, вы избежите необходимости полностью фильтровать элементы и можете настроить таргетинг только на нужный элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...