Подтвердить что ты не робот

Найти элемент, который имеет либо класс 1, либо класс 2

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

var elements = $(this).find('.myclass1:first, .myclass2:first');

Ответ 3

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

$(".a, .b")

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

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

Ответ 4

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

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

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

if($(this).hasClass('myClass1') || $(this).hasClass('myClass2')) {
  myText = $(this).text();
} else {
  myText = null;
}