2014-10-02 36 views
-1

我已經知道如何在特定元素的內容加載到我的網頁:如何使用load()加載變量中元素的內容?

$('#idDetails').load('formElements.html .expirationDate'); 

我的問題是我需要這個存儲到一個變量。到目前爲止我沒有找到解決方案。 我該如何改變它,以便它加載到給定的變量,而不是div「idDetails」? 我可以加載()到一個隱藏的動態生成的div,然後用.html()放入一個變量(然後銷燬div),雖然我確信有一個更漂亮的解決方案..

有誰知道如何做到這一點? 感謝您的幫助

+0

http://api.jquery.com/jQuery.ajax – 2014-10-02 17:55:39

+0

請問這樣做的原因是什麼? – 2014-10-02 17:55:41

回答

1

使用$.get而不是$.load並將響應轉化爲成功回調中的變量。

$.get("formElements.html", function(data) { 
    var targetContent = $(data).find('.expirationDate').html() 
}); 
+1

謝謝,但在我的「expirationDate」在這裏? – Slrg 2014-10-02 17:59:02

+0

@ArnaudAd:你用'.expirationDate'做了什麼?請在問題中解釋。 – mithunsatheesh 2014-10-02 18:00:24

+1

@mithunsatheesh:'.load()'的文檔中解釋了這個問題:http://api.jquery.com/load/ – David 2014-10-02 18:00:55

-2

個人而言,我會使用localStorage的。如果你把你的變量放到localStorage中,那麼你可以隨時取出它。這將幫助您使用localStorage;

http://www.w3schools.com/html/html5_webstorage.asp

+1

你似乎誤解了這個問題。 OP不會詢問將頁面範圍之外的值保留在哪裏。 OP詢問如何將AJAX請求的響應存儲到頁面上的變量中。 – David 2014-10-02 18:11:17

0

好,the .load() function itself沒有做任何事情非常複雜。您可以模仿它正在做什麼來獲取響應,並將結果存儲在變量中,而不是將其設置爲元素。

例如,如果它這樣做的AJAX done處理程序:

self.html(selector ? 
    jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector) 
    responseText); 

你可能只是這樣做:

someVariable = selector ? 
    jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector) 
    responseText; 

需要注意的是,基本上,jQuery是做的正是你的建議作爲一個選項...

我可以加載()的東西到一個隱藏的div在飛行中生成,然後ge t它的內容與.html()放入一個變量

它只是沒有將該div放入DOM中,而是將其保留在內存中。 (並且完全是爲了執行鍼對DOM對象的.find(),我想象一下。)

相關問題