-1

此代码按预期工作:

$(function() { 
    $("tr:odd").css("background-color","#dddddd");
})

这不会:

function temp() {
    $("tr:odd").css("background-color","#dddddd");
}

$(temp());

为什么?

4

4 回答 4

4

因为你应该写

$(temp)

因为 temp 是一个回调

你在第二个片段中所做的是

$(temp()) // => $(undefined) since temp doesnt return anything
于 2012-04-09T13:01:33.110 回答
2

在您的第二个示例中,您正在传递temp函数的结果。你需要通过它的身体。所以,使用这个:

$(temp);

代替

$(temp());
于 2012-04-09T13:00:39.790 回答
1

jQuery 需要回调。尝试:

$(temp);
于 2012-04-09T13:01:02.830 回答
0

$(function()是 的快捷方式$(document).ready,它基本上在页面加载时运行。因此,在您的最佳解决方案中,您在加载时添加了该功能,而不是在底部添加了该功能。

试试这个:

function temp() {
    $("tr:odd").css("background-color","#dddddd");
};

$(function() {
    temp();
});
于 2012-04-09T13:03:41.127 回答