使用jQuery为多个选择的某些选项着色的错误

使用jQuery为多个选择的某些选项着色的错误,jquery,css,colors,multi-select,Jquery,Css,Colors,Multi Select,我试图在填充多重选择列表时,使用jQuery将它们的一些选项涂成红色。这是我的密码: $.each(subjects, function(key, subject) { if (select.find('option[value=\"' + encodeURIComponent(subject) + '\"]').length === 0 && subject!="") { //Ajouter la no

我试图在填充多重选择列表时,使用jQuery将它们的一些选项涂成红色。这是我的密码:

$.each(subjects, function(key, subject) 
{
    if (select.find('option[value=\"' + encodeURIComponent(subject) + '\"]').length === 0 && subject!="") 
    {
        //Ajouter la nouvelle catégorie dans la liste
        $('<option>', {
            value: subject,
            text: subject
        }).appendTo(select);
                 
        if (colored==true)
        {
            //Change color of options' text

            //$("option[value='"+subject+"']").css('color', 'red');
            $("#" + selectList + " option[value='"+ encodeURIComponent(subject) +"']").css('color', 'red');
        }
    }
});
我目前对此代码有两个问题:

1-第二个组件无法处理包含简单引号的选项。以下是console中的错误示例:

未捕获错误:语法错误,无法识别的表达式:

value='est%20le%20type%20d'操作%20de']

我试图修改行,使其与第一个if子句中的行相似,但没有改变任何内容

2-我的jQuery代码不为包含空格的选项着色

我如何解决这两个问题? 先谢谢你

编辑:变量selectList包含我的multiselect的名称。

不要在选项中使用空格或引号。AKA -不要这样做,而是考虑使用一个关键的数字或简单文本的价值为您的选择。处理输入时,可以将这些值映射到您真正需要的值。这样做还可以在某个时候保存HTML,防止您意外地插入关闭属性的字符,甚至整个标记

颠倒你的报价。JavaScript可以对字符串使用或。如果您无法避免使用单引号,并且知道在选项值中不会使用双引号,请替换此选项:

" option[value='"+ encodeURIComponent(subject) +"']"  
为此:

' option[value="'+ encodeURIComponent(subject) +'"]'
在将值放入HTML时,不要对其进行URI编码,而是让值保持原样,或者如果需要,尝试对其进行HTML编码。如果您需要对它们进行URI编码,例如GET参数,那么就在表单提交时对它们进行URI编码,就像您准备将数据发送到其他地方一样。

不要在选项中使用空格或引号。AKA -不要这样做,而是考虑使用一个关键的数字或简单文本的价值为您的选择。处理输入时,可以将这些值映射到您真正需要的值。这样做还可以在某个时候保存HTML,防止您意外地插入关闭属性的字符,甚至整个标记

颠倒你的报价。JavaScript可以对字符串使用或。如果您无法避免使用单引号,并且知道在选项值中不会使用双引号,请替换此选项:

" option[value='"+ encodeURIComponent(subject) +"']"  
为此:

' option[value="'+ encodeURIComponent(subject) +'"]'

在将值放入HTML时,不要对其进行URI编码,而是让值保持原样,或者如果需要,尝试对其进行HTML编码。如果您需要对它们进行URI编码,例如GET参数,那么就在表单提交时对它们进行URI编码,就像您准备将数据发送到其他地方一样。

请给出完整的示例。HTML是什么样子的?请给出一个完整的例子。HTML是什么样子的?谢谢你的建议它与$+selectList+'选项[value='+subject+']'配合得很好;谢谢你的建议它与$+selectList+'选项[value='+subject+']'配合得很好;