2011-08-10 52 views

回答

0

的見jQuery.ajax辦法做到這一點不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); 
    } 
}); 

資源:

1

這絕對不是不可能的。你只需要一種方法來解析它。最簡單的方法實際上是將其附加到隱藏容器中的頁面上,然後執行所需的任何DOM操作。然後,您可以重新定位html或在適當位置顯示它。

如果您使用的是jQuery,那麼您實際上可以在您返回的html字符串上執行任何jQuery操作。但是,在某些較舊的瀏覽器中,這樣做性能不佳。

0

如果您正在使用jQuery,你可以嘗試以下的(注意,這可能是非常耗費資源的,這取決於你加載的頁面大小):

$.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); 
} 

的細節

相關問題