Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery编写if_Javascript_Jquery_Conditional - Fatal编程技术网

Javascript jquery编写if

Javascript jquery编写if,javascript,jquery,conditional,Javascript,Jquery,Conditional,我有一些这样的代码: if ($(event.target).is('.class1') || $(event.target).is('.blab') || $(event.target).is('.foo') || $(event.target).is('.cbncvbn') || $(event.target).is('.dfghdfgh') || $(event.target).is('.tryrty')) { // Do something } this.is( "." + s

我有一些这样的代码:

if ($(event.target).is('.class1') || $(event.target).is('.blab') || $(event.target).is('.foo') || $(event.target).is('.cbncvbn') || $(event.target).is('.dfghdfgh') || $(event.target).is('.tryrty')) {
    // Do something
}
this.is( "." + selector )
有没有更简洁的方法来写这个

PS:我知道有更好的方法来做同样的事情,但这个问题是关于条件的语法


谢谢。

好吧,jQuery使用CSS3选择器,您也可以这样做:

if ($(event.target).is('.class1, .blab, .foo, .cbncvbn, .dfghdfgh, .tryrty')) {
    // Do something
}
匹配适用于任何元素,就像CSS规则一样

理论上是测试元素是否具有给定类名的最合适的方法。然而,jQuery本身实现了如下
hasClass

if ($(event.target).is('.class1') || $(event.target).is('.blab') || $(event.target).is('.foo') || $(event.target).is('.cbncvbn') || $(event.target).is('.dfghdfgh') || $(event.target).is('.tryrty')) {
    // Do something
}
this.is( "." + selector )
如果你有一个包含标点符号的类名,并且这个标点符号在选择器中有一定的含义,那么它不仅最终是同一个代码,而且还会严重破坏。糟糕的jQuery,没有蛋糕

所以我坚持保罗的答案。如果性能是一个问题,那么可以通过使用纯JavaScript只拆分一次类名列表来提高速度。但在这种情况下,这可能无关紧要