我需要在jQuery.each()中使用/重用外部(普通)函数,如下所示:
function foo(index,ele){
if(!($(ele).attr("href")) || $(ele).attr("href") == "") {
$(ele).addClass("yellow");
}
}
// INCORRECT, but WHY??
$("a").each(foo(index,domEle));
Here a jsfiddle example包含正确和错误的案例。
答案 0 :(得分:3)
因为你传递的是函数执行的结果,而不是函数本身
$("a").each(foo); // <-- this is how it should be written
在这种情况下,将传递对函数的引用,并且一切都按预期工作。