【问题标题】: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”的跨度类来包装所有以标签开头的单词?
【问题讨论】:
标签:
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/