首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery包含文本并将其设置为蓝色

Jquery包含文本并将其设置为蓝色
EN

Stack Overflow用户
提问于 2011-06-18 01:31:21
回答 3查看 417关注 0票数 4

设计者希望公司名称为蓝色,但公司名称嵌入在文本中,没有任何html元素围绕它。

我希望能够找到一个字符串,并仅将该字符串设置为蓝色

我有这段代码,但它把整个文本变成了蓝色

代码语言:javascript
运行
复制
$(function() {
    $('div:contains("The Company Name")').css("color","blue");
});

这是示例代码

代码语言:javascript
运行
复制
<div>The company name is great and makes a lot of happy customers</div>
<div>You can have more info on <a href="link">The company name</a>[...]</div>

这就是我想要的结果

代码语言:javascript
运行
复制
<div><span style="color:blue;">The company name</span> is great and makes a lot of happy customers</div>
<div>You can have more info on <a href="link"><span style="color:blue;">The company name</span></a>[...]</div>

有没有人?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-18 01:44:55

如果您希望使用jQuery而不是直接编写<span style="color:blue;">etc...来创建span,也可以这样做

代码语言:javascript
运行
复制
var s = "The company name";
$('div:contains("'+s+'")').html(function(i,e){
    var p = new RegExp(s,"g");
    return e.replace(p,$('<span />').css('color','blue').text(s).wrap('<div />').parent().html());       
});

示例:http://jsfiddle.net/niklasvh/Mytzh/

票数 1
EN

Stack Overflow用户

发布于 2011-06-18 01:34:57

代码语言:javascript
运行
复制
    $(function() {
    $('div').each(function() {
   $(this).html($(this).html().toString().replace('The Company Name', '<span style="color: blue">The Company Name</span>'));
    });
    });
票数 2
EN

Stack Overflow用户

发布于 2011-06-18 01:35:19

您可以使用jQuery highlight plugin来实现您的目标。

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

https://stackoverflow.com/questions/6389506

复制
相关文章

相似问题

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