【问题标题】:How to escape ~ character in jQuery selector [duplicate]如何在jQuery选择器中转义〜字符[重复]
【发布时间】:2018-06-14 17:43:08
【问题描述】:

我正在尝试以这种方式选择一个元素

$('#QR~QID345')

因为元素的 id 是 QR~QID345 但选择器不适用于 ~,有什么解决办法吗?

在这种情况下,不能更改 id。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以使用\\ 转义~

    alert( $('#QR\\~QID345').text() );
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="QR~QID345">Hello</div>

    【讨论】:

      【解决方案2】:

      您可以使用$.escapeSelector 转义任何在 CSS 选择器中具有特殊含义的字符。

      var id = $.escapeSelector("QR~QID345");
      
      console.log($('#' + id).text());
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <p id="QR~QID345">
        Hello World
      </p>

      正如 Rory McCrossan 在评论中指出的那样,$.escapeSelector 是在 3.0 版中添加的

      文档:$.escapeSelector()

      【讨论】:

      • 请注意,这仅在 jQuery v3+ 中可用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 2011-02-16
      • 2013-07-18
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多