如何使用HTML逐个获取hrml标签?

时间:2016-11-19 05:34:42

标签: javascript jquery

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

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

使用$("#div1").html()。它返回的div标签内容

<p>Some Content</p>
<p>Some Content</p>

我不能用。我需要一个一个p标签,如何使用每个语句得到这个。任何人请帮忙。

2 个答案:

答案 0 :(得分:1)

获取所有孩子并迭代他们。 Html内容可以从dom元素的outerHTML属性获得。

&#13;
&#13;
// for older browser compatibility use [].slice.call instead of Array.from
Array.from(document.querySelectorAll('#div1 p')).forEach(function(ele) {
  console.log(ele.outerHTML);
})
&#13;
<div id="div1">
  <p>Some Content</p>
  <p>Some Content</p>
</div>
&#13;
&#13;
&#13;

使用each()方法使用jQuery。

&#13;
&#13;
$('#div1 p').each(function() {
  console.log(this.outerHTML);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1">
  <p>Some Content</p>
  <p>Some Content</p>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

您不需要.html(),您需要.children()

$('#div1').children().each(function (index, childEl) {
  console.log(childEl);
});

https://api.jquery.com/children/