На моем веб-сайте у меня есть несколько элементов, устанавливающих таким образом: 1. class= 'up' id = '1' 2. class= 'up' id = '2' 3. class= 'up' id = '3' 4. class= 'up' id = '4' и т.д. (количество неизвестных элементов)
Моя проблема заключается в попытке идентифицировать их в javascript. Я попытался использовать следующий код (JQuery) для выбора определенного элемента:
$('.up#'+ id)....
Однако это, похоже, терпит неудачу. id
вы видите, содержит переменную, переданную в эту функцию. Он передается из события щелчка и настраивается таким образом:
$('.up').click(function(){
some_function(this.id);
});
some_function
принимает этот id, и это единственный аргумент, переданный ему.
Я не знаю, почему это терпит неудачу, спасибо за любую помощь!
Значения id
CSS не могут начинаться с цифры, поэтому селектор .up#1
недействителен (как и селектор #1
). Если вы измените свои значения id
чтобы начать с буквы (обычно я использую x
если у меня есть что-то более полезное, которое я могу использовать, например, x1
, x2
и т.д.), Эти селекторы будут работать (при условии, конечно, что элементы существуют как когда вы используете селектор).
(Эта цифра - это ограничение CSS, HTML и DOM фактически не заботятся о ваших значениях id
, если они уникальны.)
Замечание: очень редко вы хотите квалифицировать селектор id
(с именем тега, классом и т.д.). id
уникальны на странице, и поэтому не нуждаются в дополнительной квалификации. Для этого используются прецеденты, в основном, только для таргетинга на элемент, если он также имеет данный тег или класс и игнорирует его, если это не так, но в 99,9% случаев вам просто нужно #id
.
Вы должны поставить символ перед id
, как это.
<element id="e1" class="up">
$('#e' + id) //reference the element by id
.up#n1
.