Вообщем есть проблема. Голосование за и против: HTML: <div class="like"> <b id="yes" style="cursor: pointer;">+</b> <span id="3">4</span> <b style="cursor: pointer;" id="no">-</b> </div> <div class="like"> <b id="yes" style="cursor: pointer;">+</b> <span id="4">14</span> <b style="cursor: pointer;" id="no">-</b> </div> Вызывается через: [js]$('.like b').click(function()[/js] Получаю ид [js]item_id = $('.like span').attr("id");[/js] Ну и естественно всегда берет ID первого эл-та... Как выбрать что то типо: item_id = $(this, 'span').attr("id"); но никак не получается ) вообщем намудрил
Id элемента должен быть уникальным на страницу. И тебе нужно по-другому написать сам html, если я правильно понял твою задумку. Yes и No лучше сделать классами, т.к. могут быть назначены нескольким элементам. HTML: <div class="like"> <b class="yes">+</b> <span id="3">4</span> <b class="no">-</b> </div> <div class="like"> <b class="yes">+</b> <span id="4">14</span> <b class="no">-</b> </div> [js]//обработчик для всех Да $('.like .yes').click(function(){ item_id =$(this).next('span').attr('id'); }); //обработчик для всех Нет $('.like .no').click(function(){ item_id =$(this).prev('span').attr('id'); });[/js] [css].yes,.no{cursor: pointer;}[/css] PS. Не тестировал, но уверен, будет работать. Если нет, то вместо next поставить nextAll и вместо prev поставить prevAll. Если и так не будет работать, то другой вариант: [js]//обработчик для всех Да $('.like .yes').click(function(){ item_id =$(this).parent('.like').children('span').attr('id'); }); //обработчик для всех Нет $('.like .no').click(function(){ item_id =$(this).parent('.like').children('span').attr('id'); });[/js]