使用jquery更改列表项的id属性

时间:2012-07-01 06:53:07

标签: jquery

当我点击下面的列表项目(li)时,我将其id从sprite-heart更改为sprite-stars。这很好用。

但是一旦我再次点击它,它就像处理sprite-heart一样处理函数,但是当列表项是sprite-stars时,应该绕过函数。

我该如何更改?

<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){
        }
    });

    }

1 个答案:

答案 0 :(得分:2)

您需要取消绑定事件,而不仅仅是更改ID。只需添加

 $("#sprite-heart").click(function() { $(this).unbind('click'); ... }