确定元素是否具有带有jQuery的CSS类

Mit*_*ers 173 javascript css jquery

我正在使用jQuery并查看是否有一种简单的方法来确定该元素是否具有与之关联的特定CSS类.

我有元素的id,以及我正在寻找的CSS类.我只需要能够在if语句中根据元素上该类的存在进行比较.

eye*_*ess 237

使用hasClass方法:

jQueryCollection.hasClass(className);
Run Code Online (Sandbox Code Playgroud)

要么

$(selector).hasClass(className);
Run Code Online (Sandbox Code Playgroud)

该参数(显然)是一个表示您正在检查的类的字符串,它返回一个布尔值(因此它不像大多数jQuery方法那样支持链接).

注意:如果传递className包含空格的参数,则它将与字母集合的元素className字符串进行字面匹配.所以,例如,如果你有一个元素,

<span class="foo bar" />
Run Code Online (Sandbox Code Playgroud)

然后这将返回true:

$('span').hasClass('foo bar')
Run Code Online (Sandbox Code Playgroud)

这些将返回false:

$('span').hasClass('bar foo')
$('span').hasClass('foo  bar')
Run Code Online (Sandbox Code Playgroud)

  • 究竟.这里的文档:http://docs.jquery.com/Traversing/hasClass (7认同)
  • 我不同意.文档按类别组织,但您也可以按字母顺序轻松查看所有方法.一切都带有一个例子,评论部分通常会清除任何遗漏的东西.jQuery有很多优秀的函数和实用程序,需要一些学习才能发现它们.-EDIT-这是有道理的,它肯定会走很长的路. (4认同)

Jav*_*ier 21

来自FAQ

elem = $("#elemid");
if (elem.is (".class")) {
   // whatever
}
Run Code Online (Sandbox Code Playgroud)

要么:

elem = $("#elemid");
if (elem.hasClass ("class")) {
   // whatever
}
Run Code Online (Sandbox Code Playgroud)

  • 小心.is() - "如果当前集合中的任何元素与基于is的集合中的任何元素匹配,则jQuery中的is()方法将返回true" - http://www.bennadel.com/博客/ 1725-jQuery的S-是 - 方法 - 检查 - 对 - 任何匹配,Elements.htm (3认同)

Vin*_*nyG 11

至于否定,如果你想知道一个元素是否没有一个类,你就可以像马克所说的那样做.

if (!currentPage.parent().hasClass('home')) { do what you want }
Run Code Online (Sandbox Code Playgroud)