0

宣言された変数があります:

var recent;

そして、変数を渡す必要のある関数を作成しました。ただし、何が起こっているのかは、変数が文字列として渡されていることだと思います。varは次のように表されthisVarます:

function detachVariable(thisDiv, thisVar, fileName) {

    //Check if this section is visible:
    if($(thisDiv + " li").length > 0) {
        $(thisDiv).prepend(thisVar);
    } else {

        //If variable does not have content stored, store it:
        if(thisVar === undefined) {

            $("#site-nav li a").parents().removeClass("nav-active");
            $(this).addClass("nav-active");
            $(thisDiv + " ul.top-level").load('assets/includes/' + thisFile, function () {
                $(this).show().siblings().hide();
                ajaxAudioController();
            });

            //If variable has content, show it:
        } else {
            $("#site-nav li a").parents().removeClass("nav-active");
            $(this).addClass("nav-active");
            $(thisDiv).prepend(thisVar);
        }
    }

}

私のクリック機能:

$("#site-nav .nav1").on("click", function (event) {
    detachVariable("#recent", "recent", "recent.php");
    event.preventDefault();
});

変数を関数に渡す方法はありますか?

4

3 に答える 3

4

私が正しく理解していれば..あなたがしなければならないのはrecent..周りの引用符を削除することだけです。以下を参照してください。

detachVariable("#recent", recent, "recent.php"); //removed quotes 
于 2012-06-04T20:26:56.450 に答える
1

2番目のパラメーターを囲む引用符は省略してください。それらを使用すると、変数の代わりに文字列リテラルを実際に渡すことになります。

于 2012-06-04T20:28:11.910 に答える
0

Javascriptの変数にはグローバルスコープがあります。recent == whateverしたがって、パラメータとして渡す代わりに、文字通り使用することができます。

于 2012-06-04T20:28:14.933 に答える