我使用jQuery的AJAX從服務器獲取新內容。數據加載中JSON:jQuery完全用另一個DOM替換元素的DOM - 更快的方式?
$.ajax({
url: url,
data: {
'ajax': '1',
},
dataType: 'json',
success: somefunction
});
對於服務器端應用程序的限制,我不能設置更多的JSON變量裏面,所以我要加載到的一切內容。這就是爲什麼我要加載結果到了jQuery,比搜索和替換網頁的某些元素,像這樣(在somefunction
使用):
var somefunction = function(data) {
var con = $('<div></div>').html(data.content); // just $(data.content) is not working
$('div#mainContent').html(con.find('div#ajax-content').html());
... // same process with three more divs
}
編輯:請注意,我必須做同樣的過程,以取代三個divs!
還有更多關於這個,但作爲例子,它是足夠的,我希望。我的問題:對於某種邏輯方式,我期望將結果加載到DOM($(data.content)
),解析爲html(con.find('dix#ajax-content').html()
)並返回到DOM($('div#mainContent').html()
)對我來說似乎失去了一些資源並降低了性能,所以我想知道是否有什麼更快的方式做到這一點,直接加載DOM,如:
$('div#mainContent').dom(con.find('div#ajax-content').dom());
我試圖谷歌,但也許我不知道在類型還jQuery的文檔不會對我幫助很大。
一些事實:
- 的jQuery 1.9.1
- jQuery UI的1.10.3可
最後,我知道,這將是更加好做與服務器端的東西應用程序來提供更多的JSON變量,但是,我需要編寫不那麼容易的代碼和平,這需要更長的時間來開發我現在沒有的東西。在客戶端執行它現在是暫時的解決方案,但是,我不想降低性能。
側面的問題:
是正確使用find()
功能在這種情況下,或有什麼更好的呢?
EDIT 2(不工作解析字符串) 我期待這個工作,但它不是:
content = '<div id="ajax-title">Pečivo běžné, sladké, slané</div>
<div id="ajax-whereami"><a href="/category/4">Chléba a pečivo</a> » Pečivo běžné, sladké, slané</div>';
$(content);
嘗試data.content.toString() – basarat
@BASarat我假設data.content是一個字符串。 – HMR
@BASarat比我無法解析它並找到請求中特定div的內容。無論如何''data.content'是字符串。這對標記爲「不起作用」的行沒有幫助。 – tomis