在我的应用程序中,我有一个表单,使用某个约定命名哪些元素,即它们是路径,其中的部分使用~
符号分隔。
现在我需要通过id在jQuery中访问其中一个,但是我失败了。显然,jQuery将其视为#prev ~ sibling
事物。
有没有办法可以逃避jQuery函数中的~
符号?
以下是我的代码的示例:
<select id="a~b~c">
<option value='1'>one</opiton>
</select>
<script>
$("#a~b~c").change(function(){
alert('a');
});
</script>
答案 0 :(得分:3)
试试这个
$("#a\\~b\\~c").change(function(){
alert('a');
});
答案 1 :(得分:2)
您可以使用\\
http://api.jquery.com/category/selectors/
$('#a\\~b\\~c')
或者,如果转义有问题,您可以使用:http://api.jquery.com/attribute-equals-selector/
$('[id="a~b~c"]')
答案 2 :(得分:2)
official jQuery FAQ中有答案。
您需要使用\\
转义它。
答案 3 :(得分:1)
jQuery中的转义字符是两个后退,\\
,所以试试这个:
$("#a\\~b\\~c").change(function(){
alert('a');
});
进一步阅读jQuery选择器:http://api.jquery.com/category/selectors/