Skip to content

根据详情补充摘要

html
<a
  class="news-list-item"
  th:each="item : ${newsPageTotal.list}"
  th:href="${item.article.pcUrl}"
  th:title="${item.listTitle}"
>
  <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>

注意

华龙网的 article.id 是 Long ,用 js 中的 number 接收会丢失精度

所以必须要用 string 去处理

js 处理代码

html
<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);
      console.log(summary.innerHTML, 'summary.innerHTML == false > ', summary.innerHTML == false);

      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>