1

jQueryでは、を使用してオブジェクトのHTMLを置き換えることができます。また、.html(html code here)メソッドの1つ(append、、、など)を使用して、同じ目標を達成することもできます。appendToprepend.html(...)

しかし、これら2つの方法の違いは何ですか?

更新しました

質問をより明確にするためにコードを投稿する必要があると思います。確認してください。

$('<a>close</a>').click(function() {
            alert("test");
        }).appendTo($('.widget-head'));

var sHtml = $('.widget-head').wrap('<p>').parent().html();
$(currentTmpContainer).html(resultHtml);

(これは単なるコードスニペットです。理解しても大丈夫だと思います。ありがとうございます。)
最後に、.click私の例ではうまくいかなかったことがわかりました。.html()の代わりに使っているからだと思います.append()。それが正しいか?ありがとう。

4

2 に答える 2

2
  1. コンテンツを.html上書きし、.appendタグの最後にコンテンツを追加します。
  2. html生の文字列のみを受け入れ、appendjQueryオブジェクトも使用できます。

例:

$('#foo').html($('<input>')); //invalid!
$('#foo').append($('<input>')); //Valid!

イベントあり:

var $input = $('<input>').click(function(){
    alert('foo');
});

$('#foo').append($input); 
于 2013-03-12T02:27:06.973 に答える
1

要素のテキストを変更するために.html()を使用する傾向があります。例えば

$('.myElement').html('Hello, World!');

これは次のような結果になります

<p class='myElement'>Hello, World!</p>

.append()を使用して、既存の要素に新しい要素を追加します。例えば

$('.myElement').append($('<span>Inner Element!</span>'));

その結果

<p class='myElement'><span>Inner Element!</span></p>

.append()を使用する理由は、jQueryを使用して新しい要素を構築できるようにするためです。例えば

var newElement = $('<span>Inner Element!</span>').click(function(e){ alert("Hello!"); });
$('.myElement').append(newElement);
于 2013-03-12T02:36:18.637 に答える