使用jQuery的css选择器,转义特殊字符

Using jQuery selector for css, escaping special characters

本文关键字:转义 特殊字符 选择器 css jQuery 使用      更新时间:2023-09-26

我想用jQuery改变一个单选按钮的背景颜色。我张贴了下面的css,但在jQuery中,我需要转义特殊字符(见下文),它仍然不工作。

#opt5 > [type="radio"]:not(:checked) + label:before,
#opt5 > [type="radio"]:checked + label:before {
    background: #F7DC6F;
}
$("''#opt6 ''> ''[type''='''radio''''']'':not''('':checked'') ''+ label'':before").css({ "background": "red" });
$("''#opt6 ''> ''[type''='''radio''''']'':checked ''+ label'':before").css({ "background": "red" });

这与选择器语法无关。jQuery的选择器引擎旨在支持开箱即用的CSS选择器(无论如何,在某种程度上)。通过转义,你剥离了选择器的所有意义,将它变成与你期望的完全不同的东西。

这与jQuery不能选择伪元素的事实有关。您有许多选项,这些选项在链接中有介绍。我强烈推荐使用类名方法