1

現在、$。get()を使用して別のファイルからHTMLマークアップをフェッチしています。現在のDOMに一致する要素の現在のjQueryセットに結果を追加するにはどうすればよいですか?

add()でうまくいくと思いましたが、そうではありません。たとえば、これは機能しません。

$.get('file.html', function(data) {
    $('body').add(data)
});

しかし、理想的には、file.htmlに''がある場合、$('#result')。html(..)を使用して、現在の要素セットと同じように#resultを使用できるようにしたいと思います。

私にできることの1つは、$。load('file.html #result')...を使用することですが、複数の要素を操作するため、これを複数回実行する必要があります。

私の考えはおそらく使用することでした

sub$ = jQuery.sub();

$ .getから返されたHTMLの文字列を追加しますが、それが可能かどうかはわかりません。

4

2 に答える 2

6

DOMに挿入せずに、html応答全体をjQueryオブジェクトに変換できます。これにより、特定の要素または値を操作または検索し、応答のさまざまな部分でさまざまなことを実行できます。

例:

$.get('file.html', function(data) {
    var $response=$(data);
    var myButton=$response.find('button');

     var someDiv= $response.find('#someDiv').css('color','red')
     $('#someForm').append( myButton)

     $('body').append( someDiv)
});

また、特定の要素の存在、または応答内の特定の値を確認し、それに応じて応答を処理することもできます。

$.get('file.html', function(data) {
   var $response=$(data);

    if( $response.find('#someDiv').length){
      doThis();
    }else{
       doThat();
    }

})
于 2012-12-09T15:59:58.643 に答える
0

jQueryのドキュメントhttp://api.jquery.com/html/をご覧ください。

htmlメソッドを使用する必要があります。

$.get('file.html', function(data) {
    $('body').html(data);
});
于 2012-12-09T16:21:41.797 に答える