You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery编写实现greentext引用效果的功能模块?

Greentext 功能实现方案

1. 先定义基础样式

先在样式表中添加 greentext 对应的样式类:

.greentext {
  color: #789922; /* 4chan 经典绿色,可根据需求自行调整 */
  margin: 0;
  padding: 0;
}

2. 封装 jQuery 处理模块

你可以直接扩展 jQuery 方法,方便全局复用:

$.fn.addGreentext = function () {
  return this.each(function () {
    // 获取当前元素的原始文本内容
    const rawContent = $(this).text();
    // 兼容不同系统的换行符拆分所有行
    const lineList = rawContent.split(/\r?\n/);
    // 逐行处理
    const processedList = lineList.map(line => {
      // 正则匹配行首带>的内容,\s* 是兼容行首有空格的情况,不需要可以删掉
      if (/^\s*>/.test(line)) {
        return `<span class="greentext">${line}</span>`;
      }
      return line;
    });
    // 处理后内容替换回原节点,换行转br保证排版一致
    $(this).html(processedList.join('<br>'));
  });
};

3. 功能调用

帖子内容渲染完成后直接调用方法即可:

// 给所有帖子内容块的p标签应用效果,选择器可根据你的实际DOM结构调整
$('.post-content p').addGreentext();

// 如果是动态加载的帖子,新内容插入DOM后再调用一次即可
// 例:新插入的帖子DOM调用 $(newPost).find('p').addGreentext()

注意事项

  • 如果要求严格只有行首第一个字符是>才生效,把正则里的\s*删除,修改为/^>/即可
  • 如果内容允许用户输入HTML标签,建议先做XSS过滤再调用该方法,避免安全风险

内容的提问来源于stack exchange,提问作者DubiousTunic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 21:45:03