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只拆分一次类名列表来提高速度。但在这种情况下,这可能无关紧要