У меня разные divs
, у которых есть id="item"
. Когда я выбираю один из divs
, новый класс должен быть добавлен в a
, где был выбран div. Есть ли способ сделать это, когда идентификаторы не уникальны?Добавить класс в выбранный div (div не является уникальным)
HTML:
<div class="something" id="item">
<a href="#" class="something">...</a>
</div>
<div class="something" id="item">
<a href="#" class="something">...</a>
</div>
<div class="something" id="item">
<a href="#" class="something">...</a>
</div>
<div class="something" id="item">
<a href="#" class="something">...</a>
</div>
JavaScript (то, что я пытался, но не работает):
// changes all links on the website
$("body").delegate('#item', 'click', function() {
$("a").addClass("active");
});
Edit: Я использую функцию delegate
, потому что я создаю все дивы с PHP, иначе событие клика не будет зарегистрировано.
идентификаторы ** обязательно ** быть уникальным. jQuery останавливает поиск после того, как находит первый соответствующий элемент. –
'id' является ** уникальным ** атрибутом. Там должно быть ** никогда ** два элемента с одинаковым идентификатором. –
Это должно работать нормально, если вы замените '' a '' на '' a ', this' –