以此为例:
<div>
A&
<br>
B
</div>
如果我使用$('div').html()
,则返回A&<br>B
。它将A&
转换为我不想要的A&
。
如果使用$('div').text()
,则会返回A&B
。它忽略了我不想要的<br>
。
我正在寻找一种方法来获取div中的所有html而不解析它,也不会跳过像<br>
这样的标记。
这是我想要的结果:A&<br>B
。我如何实现这一目标?
答案 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()