jQuery:如果在链中?

leo*_*pic 4 javascript jquery if-statement method-chaining chain

我有这个

if(noDelay){
  $(element).find("." + options.class).remove();
} else {
  $(element).find("." + options.class).fadeOut().remove();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以避免重复这个句子,只在fadeOut()满足给定条件时添加?

我不能移动fadeOut()直到链的末端,这可能会使事情变得更容易.

我在想类似的东西

$(element).find("." + options.class).(if(noDelay) fadeOut()).remove();
Run Code Online (Sandbox Code Playgroud)

提前谢谢,Leo

Emr*_*kan 11

没有任何记录,如你所愿,但也许这将适合你:

$(element).find("." + options.class).fadeOut(noDelay ? 0 : 400).remove();
Run Code Online (Sandbox Code Playgroud)

为什么是400,因为fadeOut的默认持续时间是400毫秒.(来自文件)

  • 您可以使用任何字符串来表示默认值,如果字符串未被识别且无法转换为整数,则默认为默认持续时间.如果在相关页面上更改了默认持续时间,则使用"普通"而不是400可能是个好主意. (5认同)