jQuery:htmlコンテンツのvarを.appendTo()のタグに貼り付けます

appendto javascript jquery
jQuery:htmlコンテンツのvarを.appendTo()のタグに貼り付けます

HTMLコンテンツ(varにあるもの)を貼り付けて、「

明らかに私は何か間違ったことをしています:

function createPreviewBlock(){
        var emptyBlock = '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '';
        emptyBlock.appendTo('fieldset#previewDataBlock');
        $('ul#previewBlock').removeClass('emptyList').css('display', 'block');

}

私はこのエラーを受け取っているからです:

TypeError: emptyBlock.appendTo is not a function { message="emptyBlock.appendTo is not a function",  more...}

  1  0


ベストアンサー

現在、これはHTMLの単なる文字列ですが(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String[string])、http://apiを使用するにはjQueryオブジェクトにする必要があります.jquery.com / appendTo / [.appendTo()]、次のように:

 $(emptyBlock).appendTo('fieldset#previewDataBlock');

または、http://api.jquery.com/append/ [.append()]を次のように使用します。

$('fieldset#previewDataBlock').append(emptyBlock);

” ” ‘

余談ですが、少し安全にするには、属性に引用符を使用します。次に例を示します。

    var emptyBlock = '' +

このように一重引用符と二重引用符を混在させると、かなりきれいに保つことができます。

4


jQueryオブジェクトに「emptyblock」を配置する必要があります。

$(emptyblock).appendTo( /* etc*/ );

コードのやや使いやすいバージョンを次に示します。

function createPreviewBlock(){
    $(['',
        '',
        '',
        '',
        '',
        '',
        '',
        ''].join(''))
        .appendTo('#previewDataBlock');
    $('#previewBlock').removeClass('emptyList').css('display', 'block');
}

IE 6および7は連結時にガベージコレクションを使用するため、連結ではなく結合を使用します。 また、すべてをjQueryオブジェクトに渡すだけで、変数を回避できます。 これにより、メソッドチェーンを使用できます。 最後に、セレクタでIDを使用するだけです。 そのような要素を先頭に追加するよりも高速です。

3


タイトルとURLをコピーしました