取除 HTML 标签
js
function stripHTML(html) {
var temp = document.createElement("div");
temp.innerHTML = html;
return temp.textContent || temp.innerText || "";
}例 1
html
<div class="content" th:text="${intro.article.content}"></div>
<script th:inline="javascript">
window.addEventListener("DOMContentLoaded", function () {
const moreLine = document.querySelector(".more-line__intro .content");
if (moreLine) {
const content = moreLine.innerText;
// 去除 html 标签
moreLine.innerText = stripHTML(content);
}
function stripHTML(html) {
var temp = document.createElement("div");
temp.innerHTML = html;
return temp.textContent || temp.innerText || "";
}
});
</script>例 2
没有 summary ,需要获取详情来填充 summary
html
<div class="hlx-news-list">
<a
class="news-list-item"
th:each="item : ${newsPageTotal.list}"
th:href="${item.article.pcUrl}"
th:title="${item.listTitle}"
>
<div class="cover">
<th:block th:if="${item.listImage.length > 0}">
<img th:src="${item.listImage}">
</th:block>
</div>
<div class="info">
<div class="title" th:text="${item.listTitle}">
</div>
<div class="summary" th:text="${item.article.summary}" th:id="${'summary'+item.article.id}">
</div>
<div class="date" th:text="${item.pubTime.substring(0, 10)}">2025-07-22</div>
</div>
</a>
</div>
<script th:inline="javascript">
window.addEventListener('DOMContentLoaded', function () {
let dataList = [
/*[# th:each="item, stat : ${newsPageTotal.list}"]*/
{ id: '[[${item.article.id}]]', summary: [[${item.article.content}]] },
/*[/]*/
];
for (var i = 0; i < dataList.length; i++) {
var summary = document.getElementById('summary' + dataList[i].id);
if (summary.innerHTML == false) {
summary.innerHTML = stripHTML(dataList[i].summary);
}
}
function stripHTML(html) {
var temp = document.createElement('div');
temp.innerHTML = html;
return temp.textContent || temp.innerText || '';
}
});
</script>