【发布时间】:2018-06-14 17:43:08
【问题描述】:
我正在尝试以这种方式选择一个元素
$('#QR~QID345')
因为元素的 id 是 QR~QID345 但选择器不适用于 ~,有什么解决办法吗?
在这种情况下,不能更改 id。
【问题讨论】:
标签: javascript jquery
我正在尝试以这种方式选择一个元素
$('#QR~QID345')
因为元素的 id 是 QR~QID345 但选择器不适用于 ~,有什么解决办法吗?
在这种情况下,不能更改 id。
【问题讨论】:
标签: javascript jquery
您可以使用\\ 转义~
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>
【讨论】:
您可以使用$.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 版中添加的
【讨论】: