直接看代码,评论一个能用的页面HTML评论页面,核心就三块:显示区、代码输入框、评论提交逻辑。页面别想复杂了,代码我拆开揉碎讲。评论 先看最基础的页面骨架。评论列表用``承载,代码每条评论塞进``,评论里面再套个``区分头像、页面昵称、代码时间和内容。评论头像别真去调外部图片,页面用CSS画个圆形占位符就行,代码颜色随机或固定灰都行,省得跨域报错。昵称和时间塞进一个``,用`float:right`把时间挤到右侧——老派但直观,用户扫一眼就知道谁说的、什么时候说的。 输入区更简单。一个``加一个``,但注意`textarea`要设`maxlength="200"`,否则用户能写出一篇论文,评论页直接变博客。按钮旁边放个字符计数器,用`oninput`事件实时更新,这细节能避免用户打到一半被截断的暴躁感。 提交逻辑是整个页面的灵魂。别用`form`的`submit`,那会刷新页面,体验像回到1999年。用`onclick`绑个函数,先取`textarea`的值,`trim()`掉首尾空格,空值直接`return`并弹个`alert`。然后`document.createElement('li')`,把新节点插到列表最前面——注意是`insertBefore`到`ul`的第一个子节点前,不是`appendChild`。这样新评论置顶,符合社交平台习惯。 但光能加不能删就是死页面。给每条评论的`li`加个`data-id`属性,值用`Date.now()`生成,再在每条评论右侧放个“删除”小叉。点击时用`event.target.parentNode.remove()`干掉整个`li`。这个操作不用走后端,纯前端模拟,但能让人玩上瘾——尤其测试时,删掉自己刚发的那条垃圾评论,有种掌控感。 存数据这块,我建议直接上`localStorage`。每次添加或删除后,把整个`ul`的`innerHTML`序列化存进去,页面刷新时在`window.onload`里读出来重绘。别用`JSON.stringify`存对象数组,那还得解析再遍历生成DOM,绕远路。直接存HTML字符串,简单粗暴,反正评论内容不涉及敏感操作,XSS风险在本地demo里可以忽略——但真要上线,记得用`textContent`赋值而不是`innerHTML`拼接。 样式上别用框架,自己写十几行CSS就够。`ul`设`list-style:none`和`padding:0`,每条`li`加`border-bottom:1px solid #eee`和`padding:10px 0`。输入区固定在页面底部`position:fixed`,背景白色加`box-shadow:0 -2px 5px rgba(0,0,0,0.1)`,这样滚动长评论时输入框始终可见。这设计是从移动端App偷师的,网页这么做也没毛病。 最后说个坑。很多人写评论页喜欢加“点赞”按钮,但纯前端做不了跨用户点赞,只能自己点自己,没意义。真要互动,得接后端或第三方服务。我建议demo里别加这个功能,省得用户以为能点赞却只能看到数字加一,感觉像在骗自己。 代码量控制在150行以内,逻辑全在`