首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在段落中找到一个单词,然后用一个跨度把它包装起来。

在段落中找到一个单词,然后用一个跨度把它包装起来。
EN

Stack Overflow用户
提问于 2015-05-20 11:10:27
回答 2查看 94关注 0票数 2

我正在使用下面的jQuery片段来围绕指定的文本块包装一个跨度:

代码语言:javascript
复制
$("h2:contains('cow')").html(function(_, html) {
   return  html.replace(/(cow)/g, '<span class="smallcaps">$1</span>')
});

在这种情况下,“牛”这个词就是目标。然而,我只想突出“牛”这个词,而不是包含“牛”的词,例如“牛”或“牛体”。

我该怎么做?

小提琴在这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-20 11:11:41

只要把它改成

代码语言:javascript
复制
$("h2:contains('cow')").html(function(_, html) {
   return  html.replace(/\b(cow)\b/g, '<span class="smallcaps">$1</span>')
});

正则表达式中的\b是一个单词边界。见MDN

票数 2
EN

Stack Overflow用户

发布于 2015-05-20 11:12:19

简单地说:\b,因为它允许您使用正则表达式执行"whole word only“搜索

代码语言:javascript
复制
$("h2:contains('cow')").html(function(_, html) {
   return  html.replace(/\b(cow)\b/g, '<span class="smallcaps">$1</span>')
});
代码语言:javascript
复制
span { color: red}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h2>We have cows on cowboy town cow</h2>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30347949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档