此代码按预期工作:
$(function() {
$("tr:odd").css("background-color","#dddddd");
})
这不是:
function temp() {
$("tr:odd").css("background-color","#dddddd");
}
$(temp());
为什么?
答案 0 :(得分:4)
因为你应该写
$(temp)
因为temp是回调
你在第二个片段中正在做的是
$(temp()) // => $(undefined) since temp doesnt return anything
答案 1 :(得分:2)
在第二个示例中,您传递的是temp
函数的结果。你需要传递它的身体。所以,使用这个:
$(temp);
而不是
$(temp());
答案 2 :(得分:1)
jQuery期待回调。尝试:
$(temp);
答案 3 :(得分:0)
$(function()
是$(document).ready
的快捷方式,它基本上在页面加载时运行。
因此,在您的顶级解决方案中,您在加载时添加了该功能,而在底部解决方案中没有这样做。
试试这个:
function temp() {
$("tr:odd").css("background-color","#dddddd");
};
$(function() {
temp();
});