1

我需要在 jQuery.each() 中使用/重用外部(普通)函数,如下所示:

function foo(index,ele){
    if(!($(ele).attr("href")) || $(ele).attr("href") == "") {
        $(ele).addClass("yellow");
    }        
}
// INCORRECT, but WHY??
$("a").each(foo(index,domEle));

这是一个包含正确和错误案例的 jsfiddle 示例。

4

1 回答 1

3

因为您传递的是函数执行的结果,而不是函数本身

$("a").each(foo); // <-- this is how it should be written

在这种情况下,传递了对该函数的引用,并且一切都按预期工作。

http://jsfiddle.net/zerkms/zTF22/1/

于 2012-10-06T11:59:47.477 回答