我试图用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" });
答案 0 :(得分:0)
这与选择器语法无关。 jQuery的选择器引擎旨在支持开箱即用的CSS选择器(在某种程度上,无论如何)。通过逃避它,你正在剥离所有意义的选择器,把它变成与你期望完全不同的东西。
这与pseudo-elements cannot be selected by jQuery的事实有关。您有许多选项,链接中包含这些选项。我强烈推荐班级名称方法。