我正在尝试根据文本数据是否包含字符“-”来有条件地格式化文本数据“红色”或“黑色”。文本作为文件生成,并且是 .shtml 文件中的“包含”。
您可以在条件运算符中使用正则表达式模式测试吗?
我做错了什么?
function colourful(a,b,c)
{
var colour, pat, place,label,linkto;
pat=new RegExp("-");
place= a;
label= b;
linkto=c;
colour=pat.test(label)?"red":"black";
document.getElementById(place).innerHTML=label.fontcolor(colour);
document.getElementById(place).href=linkto;
}
函数调用示例;
colourful("in_the_document","£1,199.09","profit.shtml");
colourful("in_the_document","-£1,199.09","profit.shtml");
最佳答案
您可以使用yourstring.indexOf("-")
测试字符串是否包含某个字符串/字符。如果返回-1
则字符串不包含该字符,否则将返回第一次出现的索引。
我猜你的代码是:
colour = label.indexOf("-") === -1 ? "red" : "black";
关于javascript 条件运算符格式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888058/