如何在jQuery选择器中转义〜字符

时间:2018-06-14 09:10:17

标签: javascript jquery

我正试图以这种方式选择元素

$('#QR~QID345')

因为元素的ID是QR~QID345但是选择器不能与~一起使用,是否有任何修复?

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

2 个答案:

答案 0 :(得分:3)

您可以使用~

转义\\

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>

答案 1 :(得分:2)

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

&#13;
&#13;
var id = $.escapeSelector("QR~QID345");

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

Rory McCrossan在评论中已经注意到,版本3.0中添加了$.escapeSelector

Doc:$.escapeSelector()