Как выбрать элементы по значению атрибута, когда значения содержат знак доллара? - PullRequest
11 голосов
/ 20 февраля 2012

У меня есть следующий HTML-элемент:

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

Как выбрать все элементы с одинаковым именем, используя jQuery, следующие ошибки:

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

Предыдущая строка кодавызвать следующую ошибку:

Ошибка: синтаксическая ошибка, нераспознанное выражение: [name = ctl00 $$ ContentPH $$ ucFuncionEdit1 $$ ckEsMenu]

Ответы [ 3 ]

13 голосов
/ 20 февраля 2012

Вы указываете значение:

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

При работе с селекторами атрибутов лучше всегда указывать значение в кавычках (хотя, если значение представляет собой одно слово, содержащее только буквы AZ [без учета регистра] и цифры 0-9 [но не начинающиеся с цифрой], вы можете уйти без).

2 голосов
/ 18 января 2013

Вы можете выйти из знака $ с двумя обратными слешами (\\):

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

0 голосов
/ 20 февраля 2012

Вы говорите о клиенте, поэтому вы можете сделать это двумя способами: 1. когда ваш код JS на той же странице, где ваш HTML:

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

2. когда ваш код js находится в отдельном файле:

jQuery("input[id$=ckEsMenu]").click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...