Найти элемент, который имеет либо класс 1, либо класс 2 - PullRequest
53 голосов
/ 16 ноября 2010

Я пытаюсь найти текст внутри элемента, класс которого либо myClass1, либо myClass2.

var myText = $(this).find('.myClass1:first').text();

Это работает нормально, но я не уверен, смогу ли я проверить один из двух классов (элемент будет иметь только один класс из этих 2, о которых я упоминал).

Спасибо за вашу помощь!

Ответы [ 4 ]

74 голосов
/ 16 ноября 2010

Если вы хотите, чтобы был найден первый (, но только один ), используйте

var myText = $(this).find('.myClass1,.myClass2').eq(0).text();

Если вы хотите получить первый из каждого вида ( два результата ), тогдапосмотрите на ответ, предоставленный @jelbourn.

25 голосов
/ 16 ноября 2010

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

var elements = $(this).find('.myclass1:first, .myclass2:first');
9 голосов
/ 16 ноября 2010

Введите запятую между двумя классами в вашем селекторе.

$(".a, .b")

это будет соответствовать всем элементам с классом "a" ИЛИ класс "b"

http://api.jquery.com/class-selector/

4 голосов
/ 16 ноября 2010

Используйте оператор if и функцию jQuery hasClass ():

http://api.jquery.com/hasClass/

Возможно, это будет выглядеть примерно так:

if($(this).hasClass('myClass1') || $(this).hasClass('myClass2')) {
  myText = $(this).text();
} else {
  myText = null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...