我有这样的文字:
<li>certain text</li>
现在我想给那些说“文字”的作品上色。有了这个,我可以找到完整的文字:
$(function() {
var color = $('*:contains("text")');
color.css("color", "red");
});
问题是此代码将整个文本转换为红色。我如何只得到那些说“文本”并在那部分做css的文章?
答案 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);
});
小心*
选择器。你需要明白它会让你所有li
的父母,包括文件......
答案 1 :(得分:0)
你可以这样做,但没有经过测试:
$(function() {
var color = $('body').text('text');
color.css("color", "red");
});