Как выбрать элементы по значению атрибута, когда значения содержат знак доллара?
У меня есть следующий 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();