例如,考虑以下情况:
<div>
A&
<br>
B
</div>
如果使用
$('div').html()
,它将返回A&<br>B
。它会将A&
转换为A&
,而我不想要这样的结果。如果使用
$('div').text()
,它将返回A&B
。它会忽略<br>
,这也不是我想要的。我正在寻找一种方法来获取div中的所有html,但不解析它,也不忽略像
<br>
这样的标签。这是我想要的结果:
A&<br>B
。我该如何实现?例如,考虑以下情况:
<div>
A&
<br>
B
</div>
$('div').html()
,它将返回A&<br>B
。它会将A&
转换为A&
,而我不想要这样的结果。$('div').text()
,它将返回A&B
。它会忽略<br>
,这也不是我想要的。<br>
这样的标签。A&<br>B
。我该如何实现?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>
编辑
另请参阅node.innerText
https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText
$("<textarea>").html($("div").html()).val()