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

时间:2011-11-22 11:53:04

标签: jquery jquery-selectors

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

现在我需要通过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>

4 个答案:

答案 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"]')

Fiddle Demo

答案 2 :(得分:2)

official jQuery FAQ中有答案。

您需要使用\\转义它。

答案 3 :(得分:1)

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

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

Fiddle to show it working

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