2013-07-12 31 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