【问题标题】:quotes in Jquery selectorsJquery 选择器中的引号
【发布时间】:2015-05-03 06:00:32
【问题描述】:

我阅读了几个关于类似问题的答案,人们总是说单引号和双引号之间没有区别。问题是我有一小行代码似乎很重要......

$("li[data-type|='veg']").append(' (v)');

这段代码做我想让他做的事:在链接末尾放一个 (v) 但这段代码:

$("li[data-type|="veg"]").append(' (v)');

不起作用。为什么?和浏览器有关系吗?我是 jquery 的新手,这是我第一次看到引用的类型有所不同。

谢谢

【问题讨论】:

    标签: jquery double-quotes single-quotes


    【解决方案1】:

    这就是js的解析方式。您必须记住,您将 STRING 作为参数传递给 jquery 函数。在这个特定的字符串中,有一个 jquery 解析的表达式(一个选择器),它可以包含一个引号。如果您使用相同类型的引号,您会意外终止字符串,而不是将其插入字符串中。如果您注意到字符串的颜色变化...

    所以你必须用反斜杠 \" 转义它,它实际上告诉解析器忽略它(它只是字符串的一部分),以便你的字符串可以保持完整。如果你在字符串中使用“不匹配”引号,你是犹太教的。

    【讨论】:

      【解决方案2】:

      您需要通过添加\ 来转义"\"

      Here 是许多其他特殊字符的列表,以及如何转义它们。

      【讨论】:

        【解决方案3】:

        以双引号开头的字符串可以包含单引号,反之亦然,无需转义。

        这两个都是有效的:

        $("li[data-type|='veg']");
        $('li[data-type|="veg"]');
        

        但是,如果您在字符串中使用相同的引号作为字符串的开头,则需要对它们进行转义

        $("li[data-type|=\"veg\"]");
        

        这与 jQuery 无关。这就是 javascript 处理字符串的方式

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-21
          • 2013-02-03
          • 2012-03-06
          • 2010-09-14
          • 2017-01-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多