1

jQuery $.ajax() メソッドを介してリモート ソースから HTML をロードしています。

HTML を DOM に挿入する前に、HTML を 3 つの部分に切り刻み、それぞれの部分を DOM の特定の領域に挿入します。

たとえば、 $.ajax() 関数を介して次のコンテンツをロードするとします。

<div class='first'>First</div>
<div class='second'>Second</div>
<div class='third'>Third</div>

そして、DOM に接続されたこのページに挿入したい:

<div class='firstHome'>Some content I want replaced.</div>
<div class='secondHome'>More content to replace.</div>
<div class='thirdHome'>Final location for content.</div>

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

<div class='firstHome'><div class='first'>First</div></div>
<div class='secondHome'><div class='second'>Second</div></div>
<div class='thirdHome'><div class='third'>Third</div></div>

jQueryでそれを達成するにはどうすればよいですか?

4

2 に答える 2

2

返された html からコンテンツを選択して追加します。

var $frag = $(returnedhtml);

$(".firstHome").html($frag.find(".first").addBack(".first"));
$(".secondHome").html($frag.find(".second").addBack(".second"));
$(".thirdHome").html($frag.find(".third").addBack(".third"));

上記のコードは jQuery 1.9+ でのみ機能します。以前のバージョンでは、これを使用します。

var $frag = $(returnedhtml);

$(".firstHome").html($frag.find(".first").andSelf().filter(".first"));
$(".secondHome").html($frag.find(".second").andSelf().filter(".second"));
$(".thirdHome").html($frag.find(".third").andSelf().filter(".third"));
于 2013-01-15T21:38:31.920 に答える
1

シンプルなeach()ループで作業が完了します。

$(yourContent).each(function() {
    $("." + this.className + "Home").empty().append(this);
});
于 2013-01-15T21:40:32.550 に答える