Jquery包含文本并将其设为蓝色
设计师希望公司名称为蓝色,但公司名称嵌入到文本中,周围没有任何html元素 我希望能够找到一个字符串,并仅将该字符串设置为蓝色 我有这个代码,但它使整个文本为蓝色Jquery包含文本并将其设为蓝色,jquery,text,contains,Jquery,Text,Contains,设计师希望公司名称为蓝色,但公司名称嵌入到文本中,周围没有任何html元素 我希望能够找到一个字符串,并仅将该字符串设置为蓝色 我有这个代码,但它使整个文本为蓝色 $(function() { $('div:contains("The Company Name")').css("color","blue"); }); 这是示例代码 <div>The company name is great and makes a lot of happy customers</di
$(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>
这家公司的名字很好,赢得了很多满意的客户
您可以获得有关[…]的更多信息
有人吗?$(函数(){
$(function() {
$('div').each(function() {
$(this).html($(this).html().toString().replace('The Company Name', '<span style="color: blue">The Company Name</span>'));
});
});
$('div')。每个(函数(){
$(this.html($(this.html().toString().replace('公司名称','公司名称'));
});
});
您可以使用来实现您的目标。如果您希望使用jQuery而不是直接编写等来创建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());
});
var s=“公司名称”;
$('div:contains(“+s+”)).html(函数(i,e){
var p=新的RegExp(s,“g”);
返回e.replace(p,$('').css('color','blue').text(s).wrap('').parent().html();
});
示例:它甚至不会使第一个
div变为蓝色,因为它区分大小写。为什么要使用jQuery?将需要更改“公司名称”的大小写以匹配示例HTML,但逻辑是正确的。这太完美了,太棒了!我不懂魔法,但它很管用!我不确定是否可以用div包装,因为默认情况下div是display:block,只需span就可以了。它不会把div
放在任何地方。它将它包装在一个元素中(本例中为div
,但它可以是任何元素),并获取该元素的内容(不包含div
)。检查示例中的输出。