Jquery 从HTML字符串中提取DOM节点,结果为HTML字符串
给定 但是我找不到获取该节点内部HTML的方法。我试过:Jquery 从HTML字符串中提取DOM节点,结果为HTML字符串,jquery,Jquery,给定 但是我找不到获取该节点内部HTML的方法。我试过: var body = $(html).find("body"); 如何获取标记内部HTML的字符串表示形式?您可以使用子字符串,获取的索引和的索引,并使用其中的内容生成子字符串 var text = body.text(); // returns "" var var = body.var(); // returns undefined var bot=html.indexOf(“”); var top=html.indexOf(“
var body = $(html).find("body");
如何获取
标记内部HTML的字符串表示形式?您可以使用子字符串,获取的索引和的索引,并使用其中的内容生成子字符串
var text = body.text(); // returns ""
var var = body.var(); // returns undefined
var bot=html.indexOf(“”);
var top=html.indexOf(“”);
var body=html.substring(bot,top);
jQuery将在您将字符串包装在$()
中时剥离html
和body
标记
因此,您可以这样做:
var bot = html.indexOf("<body>");
var top= html.indexOf("</body>");
var body=html.substring(bot,top);
var str=$('').append($(html)).html()
演示您可以尝试
body[0]。innerHTML()
当您想要显示字符串表示时,最好将html保存在div
元素(或body标记内的任何其他元素)中,而不是body
标记本身。对于字符串表示,使用TextArea
,这也是SO所使用的
var str=$('<div>').append($(html)).html()
HTML
$(function(){
var body = $('html').find('div');
var text = body.html();
$("#textArea").val(text);
});
你好,世界
再见
$(html).find(“body”).html()
?@aroth:这也是未定义的
。那么我相信这就是为什么它不起作用的解释:。这里有一个例子;在Chrome中,除两个
标记外,所有内容都被剥离。正确,只是执行此操作的似乎不是jQuery。请参见var body=$(html).find(“body”);将返回一个元素数组。使用正文[0]获取元素并对其调用innerHTML函数。不幸的是,我无法控制HTML片段。它没有一个包含主体内其余标记的单个标记。
$(function(){
var body = $('html').find('div');
var text = body.html();
$("#textArea").val(text);
});
<html>
<body>
<div><p>Hello, World!</p>
<p>Ciao!</p>
</div>
<textarea id="textArea" name="post-text" cols="92" rows="15" tabindex="101">
</textarea>
</body>
</html>