当值包含美元符号时,如何按属性值选择元素?

时间:2012-02-20 14:51:27

标签: jquery asp.net jquery-selectors

我有以下HTML元素:

<input type="checkbox" name="ctl00$ContentPH$ucFuncionEdit1$ckEsMenu" />

如何使用jQuery选择具有相同名称的所有元素,以下操作失败:

jQuery('[name=ctl00$ContentPH$ucFuncionEdit1$ckEsMenu]');

上一行代码引发了以下错误:

  

错误:语法错误,无法识别的表达式:   [名称= ctl00 $$ ContentPH $$ ucFuncionEdit1 $$ ckEsMenu]

3 个答案:

答案 0 :(得分:13)

引用该值:

jQuery ('[name="ctl00$ContentPH$ucFuncionEdit1$ckEsMenu"]');

在处理属性选择器时,最好始终引用该值(尽管该值是一个单词包含字母AZ [不区分大小写]和数字0-9 [但不是从数字开始],你可以在没有的情况下离开。

答案 1 :(得分:2)

您可以使用两个反斜杠($)转义\\符号:

jQuery('[name=ctl00\\$ContentPH\\$ucFuncionEdit1\\$ckEsMenu]');

答案 2 :(得分:0)

您正在谈论客户端ID,因此您可以通过两种方式实现: 1.当你的js代码在同一页面中你的html:

jQuery('#<%=ckEsMenu.ClientID%>').click();

2。当你的js代码在单独的文件中时:

jQuery("input[id$=ckEsMenu]").click();