Javascript jquery中的目标列表项

Javascript jquery中的目标列表项,javascript,jquery,list,Javascript,Jquery,List,我有一个列表,我正在检查列表项是否有两个特定的类。如果是,我想将该列表项的背景更改为蓝色。然而,我的代码似乎不起作用。我如何确定特定列表项的目标?警报工作正常,只是颜色不正常 if (($("#all-colls-list li:contains(" + itemName + ")").hasClass("groupAdded")) && ($("#all-colls-list li:contains(" + itemName + ")").hasClass("selAdded"

我有一个列表,我正在检查列表项是否有两个特定的类。如果是,我想将该列表项的背景更改为蓝色。然而,我的代码似乎不起作用。我如何确定特定列表项的目标?警报工作正常,只是颜色不正常

if (($("#all-colls-list li:contains(" + itemName + ")").hasClass("groupAdded")) && ($("#all-colls-list li:contains(" + itemName + ")").hasClass("selAdded")) ) {
                $(this).css("background-color", "blue");
                alert("has both classes");
            }
使用instead of将允许您使用单个选择器实现所需的功能,并获取对要修改的元素的引用:

$("#all-colls-list li:contains(" + itemName + ").groupAdded.selAdded")
    .css("background-color", "blue");
$(this)
可能未定义,因为您直接在上面的if中访问该元素。在.css函数中再次调用所有选择器应该可以解决您的问题

if (($("#all-colls-list li:contains(" + itemName + ")").hasClass("groupAdded")) && ($("#all-colls-list li:contains(" + itemName + ")").hasClass("selAdded")) ) {
                    $("#all-colls-list li:contains(" + itemName + ")").css("background-color", "blue");
                    alert("has both classes");
                }
if (($("#all-colls-list li:contains(" + itemName + ")").hasClass("groupAdded")) && ($("#all-colls-list li:contains(" + itemName + ")").hasClass("selAdded")) ) {
                    $("#all-colls-list li:contains(" + itemName + ")").css("background-color", "blue");
                    alert("has both classes");
                }