-1

このコードは期待どおりに機能します。

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

そして、これはしません:

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

$(temp());

なんで?

4

4 に答える 4

4

あなたが書くべきだから

$(temp)

tempはコールバックなので

2番目のスニペットで行っていることは

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

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 に答える