如此simple jsfiddle所示,以下代码输出<p>I am inner content</p>
,但似乎删除了div标记。我错过了什么?
var x = $('<div id="#testing"><p>I am inner content</p></div>');
alert(x.html());
答案 0 :(得分:3)
因为.html()会返回x
的innerHTML。
获取匹配集中第一个元素的HTML内容 元素或设置每个匹配元素的HTML内容。
您需要获得outerHTML
var log = (function() {
var $log = $('#log');
return function(msg) {
$('<p/>', {
text: msg
}).prependTo($log)
}
})();
var x = $('<div id="#testing"><p>I am inner content</p></div>');
log(x.prop('outerHTML'));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="log"></div>
&#13;
答案 1 :(得分:1)
试试这个fiddle
var x = $('<div id="#testing"><p>I am inner content</p></div>');
alert(x.prop('outerHTML'));
outerHTML类似于innerHTML,它是一个元素属性 包括打开结束标签以及内容。