比较2个字符串并改变颜色

时间:2013-07-24 07:44:29

标签: javascript jquery html

我真的不知道该怎么办呢。我从数据库逗号分隔2个字符串,如下所示

string1 = "DD,CC,FF"
string2 = "DD,XX,FF"

我将string1绑定到html表。

你可以看到2个字符串是不同的。我想要做的是在字符串1中找到string2,然后只突出显示字符串的更改部分。

所以我的输出将是    string1 = DD, CC ,FF

所以我的表格会显示整个字符串,但会在表格中突出显示值“CC”。

我该怎么办呢?我愿意使用jquery或javascript。

2 个答案:

答案 0 :(得分:3)

比较每个逗号分隔值,如果它们不相同,请使用某种标记进行换行:

function checkStrings(str1, str2) {
    str1 = Array.isArray(str1) ? str1 : str1.split(',');
    str2 = Array.isArray(str2) ? str2 : str2.split(',');

    for (var i=0; i<str1.length; i++) {
        if (str1[i] !== str2[i]) 
            str1[i] = '<b>' + str1[i] + '</b>';
    }
    return str1.join('');
}

FIDDLE

或订单无关紧要:

function checkStrings(str1, str2) {
    str1 = Array.isArray(str1) ? str1 : str1.split(',');

    for (var i=0; i<str1.length; i++) {
        if (str2.indexOf(str1[i]) == -1) {
            str1[i] = '<b>' + str1[i] + '</b>';
        }
    }
    return str1.join('');
}

FIDDLE

答案 1 :(得分:0)

通过“,”将两个字符串拆分,然后运行嵌套循环以检查string1中的每个条目是否在string2中可用。循环时,您可以在对象中添加string1中的每个条目,并根据可用性将其标记为true或false。然后使用您喜欢的格式打印出对象中的内容。