【问题标题】:Using jQuery selector for css, escaping special characters对 css 使用 jQuery 选择器,转义特殊字符
【发布时间】:2016-12-26 22:53:01
【问题描述】:

我正在尝试使用 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 不支持伪元素 AFAIK
  • 为什么要转义特殊字符??? $('#opt5 > [type="radio"]:not(:checked) + label') 是一个完整的好声明,是的,正如 @Aziz 所说,你不能访问伪元素

标签: javascript jquery css jquery-selectors css-selectors


【解决方案1】:

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

这与pseudo-elements cannot be selected by jQuery.您有许多选项,链接中介绍了这些选项。我强烈推荐类名方法。

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    相关资源
    最近更新 更多