一尘不染

jQuery,获取整个元素的html

html

我希望获得选定元素的整个html,而不仅仅是它的内容。.html()根据文档使用javascripts innerHTML()方法。HTML:

<div id="divs">
  <div id="div1">
    <p>Some Content</p>
  </div>
  <div id="div2">
    <p>Some Content</p>
  </div>
</div>

使用$('#divs:first').html();将仅返回段落元素。我想获取整个元素的html,如下所示:

  <div id="div1">
    <p>Some Content</p>
  </div>

我不能使用.parent,因为这将返回两个子div的html。


阅读 953

收藏
2020-05-10

共1个答案

一尘不染

您可以克隆它以获取全部内容,如下所示:

var html = $("<div />").append($("#div1").clone()).html();

或使其成为一个插件,通常倾向于将其称为“ outerHTML”,如下所示:

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};

然后,您可以致电:

var html = $("#div1").outerHTML();
2020-05-10