jQuery if(!)vs.not()
我在一个变量中存储了一个选择器,我正在检查该选择器是否有一个特定的类,以便添加另一个 以下哪项是更好的方法,为什么?对性能的影响等 任何其他方法也非常受欢迎jQuery if(!)vs.not(),jquery,Jquery,我在一个变量中存储了一个选择器,我正在检查该选择器是否有一个特定的类,以便添加另一个 以下哪项是更好的方法,为什么?对性能的影响等 任何其他方法也非常受欢迎 if(!selector.hasClass('class-2'))selector.addClass('class-1') 或 selector.not('class-2').addClass('class-1') 事先非常感谢您的帮助 Adam.not()比.hasClass()快 当谈到更好的性能时,您应该采用第二种方法。用于任何类型
if(!selector.hasClass('class-2'))selector.addClass('class-1')代码>
或
selector.not('class-2').addClass('class-1')代码>
事先非常感谢您的帮助
Adam.not()
比.hasClass()
快
当谈到更好的性能时,您应该采用第二种方法。代码>用于任何类型,但不
仅用于选择器。例如
var something;
if(!something){
//do stuff here
}
但如果不是这样,这是不可能的:
if(not(something)){
//do stuff here
}
因此,选择选择器时选择而不是,选择将是最好的选择代码>在你们争论的时候是最好的
如果你真的感兴趣,那么你可以像@Arun p Johny说的那样查看。我想我们这里有一个明确的赢家,来自
在中编写一个案例并自己检查,或者您可以调用addClass(),它将在内部处理该案例—我认为测试不正确。用3个参数运行一次jQuery方法和运行3次jQuery方法之间肯定有很大的区别?此外,在除新chrome之外的许多浏览器中,not
相当慢。我已经在chrome上进行了测试。与hasClass和Attrilliant相比,not的结果更快!非常感谢你为我组装这个!将来我一定会尝试一下jsperf!
if (!$x.hasClass('test')) {
$x.addClass('test');
}