问题描述
我希望获取选定元素的整个html,而不仅仅是内容。 .html()根据文档使用javascripts innerHTML()方法。
HTML:
< div id =divs>
< div id =div1>
< p>部分内容< / p>
< / div>
< div id =div2>
< p>部分内容< / p>
< / div>
< / div>
使用 $('#divs:first')。html();
将只返回段落元素。我想为整个元素获取html,如下所示:
< div id =div1>
< p>部分内容< / p>
< / div>
我不能使用.parent,因为这会返回两个子div的html。
您可以克隆它以获取整个内容,如下所示:
<$ p $ (); $(#div1)。clone())。html();
或者将其设为插件,大多数情况下会调用这个outerHTML,如下所示:
jQuery.fn.outerHTML = function(){
返回jQuery('< div />')。append( this.eq(0).clone())的HTML();
};
然后您可以拨打:
var html = $(#div1)。outerHTML();
I wish to get the entire html of a selected element not just it's contents. .html() uses javascripts innerHTML() method according to the documentation.HTML:
<div id="divs">
<div id="div1">
<p>Some Content</p>
</div>
<div id="div2">
<p>Some Content</p>
</div>
</div>
Using $('#divs:first').html();
will return just the paragraph element. I want to get the html for the whole element, like so:
<div id="div1">
<p>Some Content</p>
</div>
I can't use .parent because this will return html of both child divs.
You can clone it to get the entire contents, like this:
var html = $("<div />").append($("#div1").clone()).html();
Or make it a plugin, most tend to call this "outerHTML", like this:
jQuery.fn.outerHTML = function() {
return jQuery('<div />').append(this.eq(0).clone()).html();
};
Then you can just call:
var html = $("#div1").outerHTML();
这篇关于jQuery,获取整个元素的html的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!