2013-07-12 82 views
1

我想一個div#內容的outerHTML,由.text()躲過了標籤,到一個變量,像這樣:入門逃脫outerHTML到一個變量

var divContent = $('div#content')[0].text(); 

但是以類型炸燬錯誤:TypeError: $(...)[0].outerHTML.text is not a function

有人可以建議最好的方法來做到這一點?

謝謝

回答

5

你似乎在這裏混淆詞彙。 .text()這是一個jquery方法,它獲取選擇器匹配的每個元素的組合文本內容。

outerHTML獲取描述包含其後代的元素的序列化HTML片段。

所以:

var divContent = $('div#content')[0].outerHTML 

var divContent = $('div#content').text(); 

「逃離」 的文字,你可以使用escape and unscape,或者更好,encodeURIComponentdecodeURIComponent這樣的:

var escaped = escape(divContent); 
var encoded = encodeURIComponent(divContent); 
+0

嗯。我最終想要的是一個磁盤上的.html文件,其中包含div#內容中的html。因此,我的計劃是,一旦我將externalHTML加入到變量divContent中,我將通過一個ajax將其傳遞給服務器,其中包括一個ajax。 和savePage.php會將$ divContent變量寫入磁盤文件。最終的.html磁盤文件必須包含所有標記,以便瀏覽器可以訪問它並進行呈現。也許我不會以正確的方式去做。謝謝你的幫助。 – Steve

+0

好吧,所以'$('div#content')[0] .outerHTML'就是你想讓你的div出現在HTML中的路,'$('div#content')。html()'如果你只*想要div內的html內容。最後,你可能想檢查[jquery post](http://api.jquery.com/jQuery.post/) – NicoSantangelo