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


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

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

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

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

4   51   2010-11-16 19:24:55

4 ответа:

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

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

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

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

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

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

$(".a, .b")

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

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

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

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

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

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