我正试图以这种方式选择元素
$('#QR~QID345')
因为元素的ID是QR~QID345
但是选择器不能与~
一起使用,是否有任何修复?
在这种情况下,不能更改id。
答案 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选择器中具有特殊含义的任何字符。
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;
Rory McCrossan在评论中已经注意到,版本3.0中添加了$.escapeSelector