如何使用jquery获取标签内的所有html?

时间:2017-01-16 20:10:23

标签: javascript jquery html

以此为例:

<div>
  A&
  <br>
  B
</div>

如果我使用$('div').html(),则返回A&amp;<br>B。它将A&转换为我不想要的A&amp;

如果使用$('div').text(),则会返回A&B。它忽略了我不想要的<br>

我正在寻找一种方法来获取div中的所有html而不解析它,也不会跳过像<br>这样的标记。

这是我想要的结果:A&<br>B。我如何实现这一目标?

2 个答案:

答案 0 :(得分:4)

.catch(error => this.handleError(error));
function decodeEntities(encodedString) {
    var textArea = document.createElement('textarea');
    textArea.innerHTML = encodedString;
    return textArea.value;
}
console.log(decodeEntities($('div').first().html()))

修改

另见<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> A& <br> B </div> https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText

答案 1 :(得分:2)

这实际上是一个“黑客”,但确实有效。

$("<textarea>").html($("div").html()).val()