在给定一个jQuery结果集后,如何将其转换回普通的HTML呢?
<div class="abc">
foo <strong>FOO</strong>
</div>
<div class="def">
bar
</div>
--
var $mySet = $('div');
给定
$mySet
,你会如何返回上面的普通HTML呢?在给定一个jQuery结果集后,如何将其转换回普通的HTML呢?
<div class="abc">
foo <strong>FOO</strong>
</div>
<div class="def">
bar
</div>
--
var $mySet = $('div');
$mySet
,你会如何返回上面的普通HTML呢?我建议创建一个临时容器,然后获取该新容器的html()
:
var html = $('<div>').append( $('div').clone() ).html();
alert(html);
// alerts:
<div class="abc">
foo <strong>FOO</strong>
</div><div class="def">
bar
</div>
var html = $mySet[0].outerHTML; // note HTML is all caps... that always burns me
也许你需要一个客户端模板引擎。 看看这篇文章使用jQuery的客户端模板引擎
我正在使用它,感觉非常棒。 你只需要在一个div中设置你想要使用的模板,然后将其与json对象/数组一起使用即可。
var $mySet = $('div');
var html = $mySet.html();
如果你也想要元素的HTML(未经测试):
var $mySet = $('div');
var html = $mySet.clone().wrap('<div></div>').html();
顺便提一下,这里的 $ 是变量名的一部分。在 JavaScript 中,与 PHP 不同,变量名不需要加上 $,但也没坏处。
$mySet.map(function () { return this.outerHTML; }).get().join('');
在我写这个问题的时候,并不是所有的浏览器都支持outerHTML
,但现在它似乎有了相当好的支持。 - nickfouterHTML
,它不会打印出来,您将简单地丢失您的值。 - vladkras