2016-07-06 2 views
1

Как я могу выбрать (в JavaScript) конкретную метку, где метки создаются из базы данных и не имеют уникального идентификатора.Как выбрать дочерний элемент метки, где нет текущего селектора

Селектор этикетки: #content1 > div:nth-child(2) > label. Я попытался следующие, но получаю сообщение об ошибке

Error: Syntax error, unrecognized expression:

$("#content1 > div:nth-child(2) > label").click(function(){ 
    $("#bestdeals1 > div:nth-child(2)").addClass("greenbestdeals"); 
}); 
+6

Можете ли вы предоставить свой html? – n0m4d

+0

Вы уверены, что используете номер 2? Если вы получаете этот номер где-то, и это не число, это приведет к вашей наблюдаемой ошибке. –

ответ

1

Проблема была в функции, которую он сам.

Изменение поведения для: $(document).on("click", "#content1 > div:nth-child(2) > label", function(evt) {}

Сделано это работает. Спасибо за предоставленные ответы.

1

В случае, если вы не уже использовали его таким образом, п-й ребенок начинается с 1, а не 0, что может быть причиной ошибки.

Вы также можете использовать функции JQuery, чтобы найти детей, например:

$('#content1').find('div').eq(1).children('label').first() 

Вы можете заменить найти с детьми при условии, что вы собираетесь является непосредственным потомком - найти будет идти, однако много уровней глубоких он должен до тех пор, пока не найдет цель.

1

Может попробовать это:

$('#content > div').eq(2).find('label').click(function() { 
    // ... 
}); 
Смежные вопросы