jQuery,使用〜作为id的一部分 – 如何?

在我的应用程序中,我有一个表单,使用某个约定命名元素,即它们是路径,其中的部分使用~符号分隔。

现在我需要通过id在jQuery中访问其中一个,但是我失败了。 显然,jQuery将其视为#prev ~ sibling事物。

有没有办法可以逃避jQuery函数中的~符号?

以下是我的代码的示例:

  one   $("#a~b~c").change(function(){ alert('a'); });  

试试这个

  $("#a\\~b\\~c").change(function(){ alert('a'); }); 

官方jQuery FAQ中有一个答案。

你需要用\\来逃避它。

您可以使用\\ http://api.jquery.com/category/selectors/

 $('#a\\~b\\~c') 

或者,如果转义有问题,您可以使用: http : //api.jquery.com/attribute-equals-selector/

 $('[id="a~b~c"]') 

小提琴演示

jQuery中的转义字符是两个后退, \\ ,所以试试这个:

 $("#a\\~b\\~c").change(function(){ alert('a'); }); 

小提琴显示它正常工作

进一步阅读jQuery选择器: http : //api.jquery.com/category/selectors/