设计者希望公司名称为蓝色,但公司名称嵌入在文本中,没有任何html元素围绕它。
我希望能够找到一个字符串,并仅将该字符串设置为蓝色
我有这段代码,但它把整个文本变成了蓝色
$(function() {
$('div:contains("The Company Name")').css("color","blue");
});这是示例代码
<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>这就是我想要的结果
<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>有没有人?
发布于 2011-06-18 01:44:55
如果您希望使用jQuery而不是直接编写<span style="color:blue;">etc...来创建span,也可以这样做
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/
发布于 2011-06-18 01:34:57
$(function() {
$('div').each(function() {
$(this).html($(this).html().toString().replace('The Company Name', '<span style="color: blue">The Company Name</span>'));
});
});发布于 2011-06-18 01:35:19
您可以使用jQuery highlight plugin来实现您的目标。
https://stackoverflow.com/questions/6389506
复制相似问题