jQuery:有条件地执行没有"if"

epi*_*tka 2 jquery

如果使用if语句将包装的集合大小设置为0,jQuery或javascript中是否有一种方法可以忽略所有操作.

 menu.find('a[href="#add"]'). {code that should execute only if size()>0};
Run Code Online (Sandbox Code Playgroud)

我猜我通常不得不这样做

var m = menu.find('a[href="#add"]');

if m.size()>0 { do something }
Run Code Online (Sandbox Code Playgroud)

有没有更短的方法这样做?

编辑:完整代码

menu.find('a[href="#add"]').attr("href","#add-metaobject")[0].innerText = "Add Object";
Run Code Online (Sandbox Code Playgroud)

Sam*_*son 5

如果选择器找到0,则跟随它后面的内容并不重要.

$(".nonExistentElement").css("color","red"); // nothing will be red
Run Code Online (Sandbox Code Playgroud)

情况$.each()也是如此

$(".nonExistentElement").each(function(){
  World.technology.push(new PerpetualMotionMachine);
  // too bad this block will never take place
});
Run Code Online (Sandbox Code Playgroud)

您可以使用三元运算符,但它实际上只是另一个条件检查:

$("#someEl").length ? alert("found") : alert("not found") ;
Run Code Online (Sandbox Code Playgroud)