2011-08-10 14 views
0

こんにちは、GET ajaxリクエストの内容をページの内容に追加する前に編集することは可能ですか?htmlに追加する前にajaxデータを編集する

新しいHTMLページの本文の内容を取得していて、いくつかのクラスを追加したいと思っています:)。

これはおそらく不可能です。

ご協力いただきありがとうございます。

答えて

0

:jqueryのせずにこれを行う方法は document.createDocumentFragment

ajax({ //Your preferred method 
    done: function(response){ 
     var myDom = document.createDocumentFragment(); 
     myDom.innerHTML = response.responseText; 
     // your manipulations same as you would with "document" 
     document.appendChild(myDom); 
    } 
}); 

リソースを使用しています0

1

間違いなく不可能ではありません。あなたはそれを解析する方法が必要です。これを行う最も簡単な方法は、隠しコンテナ内のページにそれを追加してから、必要なDOM操作を行うことです。次に、htmlを再配置するか、適切な場所にあれば表示することができます。

jQueryを使用している場合は、実際に戻ってくるhtml文字列に対してjQuery操作を実行できます。しかし、これは、ある古いブラウザではあまり効果がありません。あなたはjQueryのを使用している場合は、次のことを試みることができる

0

(それは非常にリソースを消費することができることを、あなたのロードされたページのサイズに応じて注意してください):

$.ajax({ 
    /*parameters here*/ 
    success: function(data,textStatus){ 
     processData(data); 
    } 
}); 

function processData(data){ 
    //this line creates jQuery object that contains DOM model for loaded page 
    var page = jQuery(data); 

    page.find('#id-of-element-to-add-some-class').addClass('*your class*'); 
    page.find('#table').addClass('myTable'); //adds class myTable to all tables in the document 
    //placeholder for loaded page content. Could be something like $('#placeholder') 
    var target_element = document; 

    $(target_element).append(page); 
} 

参照jQuery.ajax詳細

関連する問題