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");
}