0

要素を作成する関数createFileSelect()を作成しました。

function createFileSelect() {

    var fSpan = $("<span/>",
        {
            "id" : "fileUpload-span",
            "class" : "btn btn-add",
            "text" : "Add a file.."
        }); 

    var fInput = $("<input/>", {
        "type": "file",
        "name": "files[]",
        "id": "fileUpload"       
    });

    return $(fSpan + fInput);
}

それから私はこれを使用して呼び出します:

$("#fileUpload-holder").append(createFileSelect());

ただし、エラーが発生します

Syntax error, unrecognized expression: [object Object][object Object]

関数を使用して、これを(2)要素でdomに組み込むにはどうすればよいですか?

ありがとう

4

3 に答える 3

2

jQueryの.addメソッドを使用するようにreturnステートメントを変更します。

return fSpan.add(fInput);

input内が必要な場合はspan、代わりにこれを使用してください。

return fSpan.append(fInput);
于 2012-11-13T17:27:58.480 に答える
0

次の行を置き換えます。

return $(fSpan + fInput);

これのために:

return fSpan.add(fInput);
于 2012-11-13T17:28:01.307 に答える
0

+演算子はjavascriptのオブジェクトに対して定義されていないため、最初に文字列(文字列)に強制変換されます"[object Object][object Object]"。次に、文字列を$関数に渡すと、文字列をHTMLとして解釈しようとします。これにより、表示されている構文エラーが生成されます。

2つのjQueryオブジェクトをマージするには、次の.add()両方を含む新しいオブジェクトを返す関数を使用できます。

return fSpan.add(fInput);
于 2012-11-13T17:29:27.403 に答える