jQuery 查找具有第 1 类或第 2 类的元素

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4196385/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 16:48:54  来源:igfitidea点击:

Find element that has either class 1 or class 2

jqueryjquery-selectors

提问by ale

I'm trying to find text inside an element whose class is either myClass1 OR myClass2.

我正在尝试在类为 myClass1 或 myClass2 的元素中查找文本。

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

This works fine but I am unsure if/how I can check for one of 2 classes (my element will only have one class out of these 2 I mentioned).

这工作正常,但我不确定是否/如何检查 2 个类之一(我的元素将只有我提到的这 2 个类中的一个)。

Thanks for your help!

谢谢你的帮助!

回答by Gabriele Petrioli

If you want the first one found (but only one) use

如果您想找到第一个(但只有一个),请使用

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

If you want the first of each kind (two results) then look at the answer provided by @jelbourn.

如果您想要第一个(两个结果),请查看@jelbourn提供的答案

回答by Jeremy Elbourn

You can separate your selectors with commas to generate a list containing all elements with either class (or with both):

您可以用逗号分隔选择器以生成包含具有任一类(或两者)的所有元素的列表:

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

回答by Mauro

Enter a comma between the two classes in your selector.

在选择器中的两个类之间输入逗号。

$(".a, .b")

this will match all elements with class "a" OR class "b"

这将匹配具有类“a”或类“b”的所有元素

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

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

回答by James Thompson

Use an if statement and the jQuery hasClass() function:

使用 if 语句和 jQuery hasClass() 函数:

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

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

It would probably look something like this:

它可能看起来像这样:

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