javascript - 如果元素在 Jquery .hasClass() 函数中有 "class1"和/或 "class2"

标签 javascript jquery

我想检查一个元素是否有这个类或另一个这样的类:

if ( $elem.hasClass("foo") || $elem.hasClass("bar") ) {
  // do something
}

我还想检查一个元素是否有两个类:

if ( $elem.hasClass("foo") && $elem.hasClass("bar") ) {
  // do something else
}

有没有办法在 hasClass() 函数中完成这一切?像这样的东西:

if ( $elem.hasClass("foo bar") ) {
  // do something when element has both classes
}
else if ( $elem.hasClass("foo","bar") ) {
  // do something when element has either class
}

最佳答案

严格回答你的问题:不,你不能。

hasClass()接受单个参数。

正如其他人所指出的,您可以使用 is(),但是 here is a test这表明性能受到很大的惩罚。

我建议您保留当前代码。

关于javascript - 如果元素在 Jquery .hasClass() 函数中有 "class1"和/或 "class2",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789796/

相关文章:

javascript - Foundation 6 Abide 不使用 Ajax/Dynamic Html

php - 使用 jquery 访问表中的值时出现问题

javascript - 将普通日期转换为 ISO-8601 格式

javascript - 一个跨度内的按钮,都有一个事件。如果我单击按钮,跨度事件也会启动

javascript - Angular:基于表达式绑定(bind)事件

java - 如何在 Java 中获取 Javascript 变量值?

javascript - 没有在 react 组件中调用去抖功能

javascript - Google Map API v3 - Ajax(Javascript + Jquery)GET 问题

jquery - 如何使用 JQuery 解析 json 响应并添加 error、complete 等功能?

jquery - 并排显示图像 100% 屏幕