type
status
date
slug
summary
tags
category
icon
插入 HTML 字符串
join(' ')
使用空格连接数组中的 HTML 字符串,如<div class="top250">...</div>
,这会在每个<div class="top250">
元素之间添加一个空格,从而在页面渲染时产生间隔 。
将 HTML 字符串转换为 DOM 节点再插入
这种方式先将 HTML 字符串转换为真实的 DOM 节点再插入。具体过程为,创建一个文档片段fragment
,遍历排名组件数组items
,将每个 HTML 字符串创建为临时div
元素,再将其第一个子元素(即真正的div.top250
元素)添加到fragment
中,最后使用container.parentNode.insertBefore(fragment, container);
插入。这种方式直接操作 DOM 节点,不会引入额外的空格字符,所以元素之间没有间隔。
插入 DOM 节点同时保留元素之间间隔的尝试
在元素之间插入空白文本节点(Passed)
在 HTML 字符串中添加间隔(Failed)
经过尝试,在 HTML 字符串的末尾添加
(单空格或双空格)、 
都不能在转换为 DOM 节点之后保留间隔。在 HTML 字符串中添加空白元素(Failed)
PS
为了使用插入 DOM 的方法并保留元素之间的间隔,我做了不少尝试并问了好多 LLM。多数 LLM 在首次问答时,都会建议我使用自定义 CSS 样式,但是这样就把问题复杂化了。这些 LLM 包括最近更新的 Qwen 3、DeepSeek、Kimi。但是只有豆包,在第一次问答的时候,就告诉我可以通过
const space = document.createTextNode(" ");
实现我的需求。