我想获取 html,包括我用来获取 html 的选择器
假设我有
<div id="foo">
<div id="bar">content</div>
</div>
当我这样做$('#foo').html()
时
<div id="bar">content</div>
jquery中有没有办法获取包括父级在内的整个html(选择器div)
我想要整个 html
<div id="foo">
<div id="bar">content</div>
</div>
我想获取 html,包括我用来获取 html 的选择器
假设我有
<div id="foo">
<div id="bar">content</div>
</div>
当我这样做$('#foo').html()
时
<div id="bar">content</div>
jquery中有没有办法获取包括父级在内的整个html(选择器div)
我想要整个 html
<div id="foo">
<div id="bar">content</div>
</div>
你也可以这样.clone()
做.wrap()
$('#foo').clone().wrap("<div/>").parent().html();
演示:http: //jsfiddle.net/joycse06/Vy5JW/
outerHTML
Firefox 不支持注意< 11.0
您可以在此处的浏览器兼容性部分中检查https://developer.mozilla.org/en/DOM/element.outerHTML
因此,对于故障安全,您可以使用以下outerHTML
内容
$foo = $('#foo');
var outerHtml = ('outerHTML' in $foo[0])? $foo[0].outerHTML
: $foo.clone().wrap("<div/>").parent().html();
您可以使用该outerHTML
属性:
$('#foo')[0].outerHTML
除了 Sarfraz 的回答,如果您使用的是 jQuery,您可以将其打包到自己的插件中:
(function($) {
$.fn.outer = function() {
return $(this)[0].outerHTML;
};
})(jQuery);
这是一个演示:http: //jsfiddle.net/WkH4z/
试试这个:
$('#foo').parent().html();