找到某些文字并添加CSS

时间:2012-11-13 12:32:27

标签: javascript jquery css

我有这样的文字:

<li>certain text</li>

现在我想给那些说“文字”的作品上色。有了这个,我可以找到完整的文字:

$(function() {
    var color = $('*:contains("text")');
    color.css("color", "red");
});

问题是此代码将整个文本转换为红色。我如何只得到那些说“文本”并在那部分做css的文章?

2 个答案:

答案 0 :(得分:4)

您需要更改li内容,因为浏览器只能将样式应用于元素,而不是单词。

您可以这样做:

$('li:contains("text")').each(function(){
    var licontent = $(this).html();
    licontent = licontent.replace(new RegExp("text", "g"), '<span style="color:red">text</span>');
    $(this).html(licontent);
});

Demonstration

小心*选择器。你需要明白它会让你所有li的父母,包括文件......

答案 1 :(得分:0)

你可以这样做,但没有经过测试:

$(function() {
    var color = $('body').text('text');
    color.css("color", "red");
});