0
Когда я нажимаю на элемент списка ниже (li), я меняю его идентификатор из спрайт-сердца на спрайт-звезды. Это хорошо работает.Изменение атрибута id элемента списка с помощью jquery
Но как только я снова нажимаю li, он обрабатывает функцию, такую как sprite-heart, но теперь функция должна быть обойдена, когда элемент списка - это спрайт-звезды.
Как это изменить?
<li><a class="navit" id="sprite-heart" title="Love this webcam! Add to my personal webcam page" href="#"><span class="love">Love this webcam</span></a></li>
$("#sprite-heart").click(function() {
addfavcam();
});
function addfavcam()
{
$.ajax({
url: '/v3/ajax/addfavourite.php',
type: 'POST',
data: {id: <?php echo $cam_id; ?>, usr: 'x<?php echo $user_id; ?>'},
success: function(responseText){
$('#sprite-heart').attr('id','sprite-stars');
$('#sprite-heart,#sprite-stars').attr('title','My favourite');
},
error: function(responseText){
}
});
}
Изменение атрибута ID не работает надежно во всех браузерах IIRC –
В качестве побочного примечание: Идентификаторы элементов должны быть уникальными на странице, изменение идентификаторов динамически увеличивает риск заканчиваясь с элементами с тем же идентификатором, который, в свою очередь, является недопустимым html и имеет нежелательные побочные эффекты. Если вы хотите указать состояние или указать что-то еще в элементе, используйте класс, настраиваемый атрибут или '$ (селектор) .data'. – Nope