使字符串中的单个字母具有不同的颜色
Making individual letters in a string different colours
我正在尝试使字符串中某些字母(如果找到)的颜色不同,例如字母 i。搜索计数正在工作,我只是无法弄清楚单个字母的 html 颜色变化。
我知道如果它是一个完整的单词,那么我只能使用拆分字符串,但无法弄清楚如何为单个字母做到这一点。我找到了一些例子,我尝试过的一个在底部也不起作用。
//getMsg is another function, which passes in a user inputted string
function searchMsg(getMsg) {
alert (getMsg);
var msgBoxObject = document.getElementById('msgBox');
var pos = getMsg.indexOf('i')
var txtToFind = (document.getElementById('txtToFind').value);
var count = 0;
while (pos !== -1){
count++;
pos = getMsg.indexOf('i', pos + 1);
document.writeln (+count);
msgBoxObject.innerHTML = (count);
}
getMsg = getMsg.replace('/i/g<span class="red">i</span>');
document.writeln (getMsg);
}
Edit; I've added in this, but can't get the loop to work correctly so it displays all instances of the letter found instead of just one: /*while (pos !== -1){
count++;
pos = getMsg.indexOf('i', pos + 1);
document.writeln (+count);
msgBoxObject.innerHTML = (count);
}
*/
var count = 0;//目标值的计数 变量 i = 0; 迭代计数器
// Examine each element.
for(i=0; i<arr.length; i++)
{ if(arr[i] == targetValue)
count++;
}
return count;
}
searchIndex = txtMsg.indexOf(txtToFind);
if (searchIndex >=0 ) {
// Copy text from phrase up till the match.
matchPhrase = txtMsg.slice(0, searchIndex);
matchPhrase += '<font color="red">' + txtToFind + '</font>';
matchPhrase += txtMsg.slice(searchIndex + txtToFind.length);
} else {
matchPhrase = "No matches"
}
displayProcessedMsg(matchPhrase);
document.writeln(matchPhrase);
您需要为该类添加相应的 css 或更改标记,如指定的@john_Smith
添加 CSS
span.red {
color: red;
}
更改标记
在您的代码上替换此
getMsg = getMsg.replace('/i/g<span class="red">i</span>');
为
getMsg = getMsg.replace('/i/g<span style:"color:red">i</span>');
内联 CSS 的一些示例
关于调色板的一些建议
尝试查看 d3 色阶(https://github.com/mbostock/d3/wiki/Ordinal-Scales#分类颜色)或应用类似于递增 RGB 值而不是使用颜色名称的原则。
希望这有帮助。
相关文章:
- jsf中两个字符串的颜色代码差异
- 在数组中查找颜色值(以#开头的字符串)
- 颜色字符串的较短正则表达式
- 使字符串中的单个字母具有不同的颜色
- JavaScript 颜色字符串出现时
- 从 Javascript 中的 rgb 字符串中获取颜色组件
- 如何在 ES6 模板字符串中使用颜色
- 如何拆分字符串并为每个字符串制作颜色
- 如何使用 JavaScript 更改字符串字体颜色
- 实时颜色选择器 HSV 到十六进制字符串
- 从输入字符串中获取包含字符及其 ANSI 颜色的数组
- 如何在javascript中从rgb字符串中提取颜色值
- 通过点击更改日期字符串并更改 DIV 背景颜色
- 如何根据字符串更改表格单元格的颜色
- 防止颜色数据的神秘字符串到数字的转换
- 如何在Javascript中用十六进制颜色为字符串着色
- 在javascript split()之后为子字符串赋予颜色
- 是否可以在一个jquery字符串中使用两种颜色的字体
- 将随机字符串转换为十六进制颜色
- 如何在JS中为var字符串添加链接或颜色更改