我怀疑这是一个非常愚蠢的问题,但是当你在JQuery中调用Html()函数时,它会返回选定的节点内部Html。无论如何在返回的Html中包含所选的注释?例如,在以下HTML
上<div class="demo-container">
<div class="demo-box">Demonstration Box</div>
</div>
此调用$('div.demo-container').html();
返回
<div class="demo-box">Demonstration Box</div>
如何让它返回
<div class="demo-container">
<div class="demo-box">Demonstration Box</div>
</div>
感谢您的帮助!
答案 0 :(得分:2)
你可以将它的副本包装在一个无聊的div中并获取它的HTML:
var str = $('div.demo-container').clone().wrap('<div/>').parent().html();
答案 1 :(得分:1)
撰写此扩展程序,例如here
jQuery.fn.outerHTML = function(s) {
return (s)
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
}
然后当你想要使用它时:
$('#myTag').outerHTML();
答案 2 :(得分:0)
$('div.demo-container').parent().html() //Only works in this specific situation
或
$('div.demo-container')[0].outerHTML; //Only works in IE and Chrome
答案 3 :(得分:0)
这可能对您有用:
$('div.demo-container').parent().html();