获取整个元素的html

获取整个元素的html

本文介绍了jQuery,获取整个元素的html的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望获取选定元素的整个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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 06:59