Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在div中将颜色更改为html单词_Javascript_Html_Colors - Fatal编程技术网

Javascript 如何在div中将颜色更改为html单词

Javascript 如何在div中将颜色更改为html单词,javascript,html,colors,Javascript,Html,Colors,我需要更改div中单词的颜色。它是以数字形式填充的,有一个javascript函数可以在DB上读取并通过div的ID写入。 我正在尝试给单词INFO(仅INFO)上色,但没有成功: $(“div:contains('INFO'))。每个(函数(){ $(this.html($(this.html().replace(“INFO”,“INFO”)); }); /*这只是一个例子*/ document.getElementById('textLog').innerHTML=“加载[DB]:信息”

我需要更改div中单词的颜色。它是以数字形式填充的,有一个javascript函数可以在DB上读取并通过div的ID写入。 我正在尝试给单词INFO(仅INFO)上色,但没有成功:

$(“div:contains('INFO'))。每个(函数(){
$(this.html($(this.html().replace(“INFO”,“INFO”));
});
/*这只是一个例子*/
document.getElementById('textLog').innerHTML=“加载[DB]:信息”
.green{
颜色:绿色;
}

日志

试试这个

函数changeColor(){
$(“span:contains('Info')”).css(“颜色”、“绿色”);
}
document.getElementById('textLog').innerHTML=“Info”;
document.getElementById('textLog1').innerHTML=“Info”;
document.getElementById('textLog2').innerHTML=“Info”;
//此部分模拟数据加载
//setTimeout(函数(){
//console.log(“数据填充…”);
////完成后,必须调用该函数
//变色();
//; }, 500);
变色()
.green{
颜色:绿色;
}

包含演示
测验

您可以获取包含所需文本的元素,就像您已经尝试的那样,然后仅使用html替换“信息”一词:

$('div:contains("INFO")').html(function () {
    return $(this).html().replace(/INFO/g, "<span style='color: green'>INFO</span>"); 
});
$('div:contains(“INFO”)).html(函数(){
返回$(this.html().replace(/INFO/g,“INFO”);
});

根据评论中的所有额外要求更新了Fiddle:

我阅读了您的所有帮助,但有人不满意我的问题,有人去了 很快就要解决了,但问题总是一样的,你的例子 只给一个单词上色,所以我更改了reg exp:

$('#textLog').html('INFO start
INFO loadDB
警告连接
错误数据库不存在'); 变色(); 函数changeColor(){ $('div:contains(“INFO”)).html(函数(){ 返回$(this.html().replace(/INFO/g,“INFO”); }); $('div:contains(“WARN”)).html(函数(){ 返回$(this.html().replace(/WARN/g,“WARN”); }); $('div:contains(“ERROR”)).html(函数(){ 返回$(this.html().replace(/ERROR/g,“ERROR”); }); }



这一种颜色仅适用于第一项。。。不是所有这个颜色都行,我要求颜色(读标题)这个词,只有这个词你说的所有行是什么意思?你能更明确一点吗?我的意思是,这段代码,绿色全行:{“eventID”:1546,“time”:“2017-09-04 14:25:21”,“level”:“INFO”,“message”:“[loadDB]。相反,我需要给单个单词信息上色。谢谢你的帮助,但根据我的说法,超时的解决方案很重,可能会降低性能。超时是触发函数的一个示例,我不知道你何时填充表,你没有在示例中添加此代码。关于颜色,你不能给简单的单词上色,你知道吗必须把它放在像我在示例中放的span这样的东西里面。所以这个函数只有在div包含单词的情况下才使用…示例:INFO,在我的例子中,单词是由javscript“注入”的,所以不要运行这种方式你不能给一个简单的单词上色,你必须把它放在像我在示例中放的span这样的东西里面,也许你需要读一点ab我不知道你的意思。你可以在注入文本后运行代码。我已经更新了提琴。看看。你按下按钮,文本被注入,信息被着色。根据最新的解释,我对replace的用法进行了编辑,以使用正则表达式,使其适用于文本的所有实例。