我有这样一段文字:
<li>certain text</li>
现在我想给写着“文本”的那块上色。有了这个,我可以找到完整的文本:
$(function() {
var color = $('*:contains("text")');
color.css("color", "red");
});
问题是这段代码将完整的文本变成了红色。我怎样才能只得到写着“文本”的那部分并在那部分做 css?
我有这样一段文字:
<li>certain text</li>
现在我想给写着“文本”的那块上色。有了这个,我可以找到完整的文本:
$(function() {
var color = $('*:contains("text")');
color.css("color", "red");
});
问题是这段代码将完整的文本变成了红色。我怎样才能只得到写着“文本”的那部分并在那部分做 css?
您需要更改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
,包括文件......
您可以这样做,但未经测试:
$(function() {
var color = $('body').text('text');
color.css("color", "red");
});