所以我有一个具有相同类的元素列表,我希望jQuery知道,如果至少有一个元素 hasClass('无效')要执行函数,所以所有元素都不应该有一个类,以便jQuery继续进行。
我已尝试使用每个功能,但在这种情况下,如果只有其中一个元素没有上课,那么他很高兴,我所有元素都需要没有 .invalid 类。
例如,如果像这样的列表至少具有 .invalid 类,则jQuery不应该执行任何操作,如果所有类都没有该类 .invalid (否则)比做某事。
<p class="someElement">1</p>
<p class="someElement">2</p>
<p class="someElement invalid">3</p>
<p class="someElement">4</p>
<p class="someElement">5</p>
<p class="someElement">6</p>
有关如何执行此操作的任何建议吗?
答案 0 :(得分:3)
//use filter to check if any element matches a case
if ($('.someElement').filter('.invalid').length < 1) {
//do stuff
}
//or hasClass as it loops as part of it's logic
// https://j11y.io/jquery/#v=2.1.3&fn=jQuery.fn.hasClass
if (!$('.someElement').hasClass('.invalid')) {
//do stuff
}
答案 1 :(得分:1)
假设您已经拥有变量中的元素,那么.hasClass
方法几乎是正确的,因为该函数确定是否为任何匹配的元素分配了给定的类:
如果它返回true
,如果有任何一个或多个,那么如果 none 那么它将返回false
,所以简单的布尔否定将匹配这种情况:
var elementList = $('p.someElement');
if (!elementList.hasClass('invalid')) {
// none of the elements had that class
}
答案 2 :(得分:0)
那么......为什么不查看元素是否有类? 对于你所说的,如果你只有一个有类的你不想执行这个函数,那么在这种情况下会有一个布尔值。
如果其中一个元素的类无效,则返回false,然后验证是否为false或true,以执行所述函数。
希望我能提供帮助。
快乐编码=}