【问题标题】:How to add class to words starting with a hashtag in jQuery?如何在jQuery中以标签开头的单词添加类?
【发布时间】:2013-11-06 21:23:36
【问题描述】:

假设我在 jQuery 中有一个字符串,看起来像

    result.text = "I tweeted something #one #two #three";

有没有办法用一个名为“tweet-hash”的跨度类来包装所有以标签开头的单词?

【问题讨论】:

  • 是的,您是否在尝试这样做时被卡在了某个地方?
  • SO 中可能已经有此问题的重复项。你搜索了吗?

标签: javascript jquery string


【解决方案1】:

您可能希望使用一些正则表达式来查找符号/单词组合,并将其替换为样式标签和 CSS 类。不幸的是,CSS 没有这样的值的选择器。

$("#phrase").html($("#phrase").html().replace(/#([^ ]+)/, "<span class='hashtag'>$1</span>")

【讨论】:

    【解决方案2】:

    值得注意的是,上面的示例只会替换它找到的第一个主题标签。如果您将g 全局添加到正则表达式,它将针对与该表达式匹配的所有实例:

    $("#phrase").html($("#phrase").html().replace(/#([^ ]+)/g, "<span class='hashtag'>$1</span>");
    

    我在 jsFiddle 上举了一个例子,所以你可以看到区别:http://jsfiddle.net/c26r9/

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 2015-02-19
      • 2022-08-16
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多