javascript - 查找特定文本并添加 css

标签 javascript jquery 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);
});

Demonstration

请小心使用 * 选择器。您需要了解它会为您提供 li 的所有父级,包括文档...

关于javascript - 查找特定文本并添加 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360844/

相关文章:

javascript - 将正则表达式与 jQuery 结合使用

javascript - 在 jQuery 中检测对具有不可预测 ID 的 DIV 的点击

jquery - 处理 JSON 中的 NULL 值

javascript - 检查元素是否有CSS动画

html - 如何使用 <br> 显示内联文本

javascript - 如何在页面中拥有一个 jQuery 播放器对象的多个实例(音频对象)

javascript - 使用 javascript/jquery 显示 iframe

SAPUI5 中的 JavaScript/ESLint 规则

jQuery 函数与每个

html - 如何制作下标光标?