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

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

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

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

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

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

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

Ответ 1

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

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

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

Ответ 2

Вы можете выйти из знака $ с помощью двух обратных косых черт (\\):

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

Ответ 3

вы говорите о clientid, чтобы вы могли сделать это двумя способами: 1. когда ваш js-код на той же странице, где находится ваш html:

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

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

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