javascript - jquery中元素的id不会改变?

标签 javascript jquery ajax request

$("#savenew").live('click', function(e)  {
               var user=<?php echo $user?>;
                 $.ajax({
                type: "POST",
                url: "actions/sub.php",
                data:{user: user} ,
                success: function(){
                  $('#savenew').html('<span>Unsubscribe</span>');
    $(this).attr('id', 'clean'); // this my problem my problem
                        }
            });
     }); 

ajax 请求后的 id 没有从 savenew 更改为 clean,但 html 完全没问题,所以我知道 ajax 请求正在工作。你认为问题出在哪里?

最佳答案

您只需要保存上下文(通过context option for $.ajax()),因此this仍然引用#savenew,如下所示:

$("#savenew").live('click', function(e)  {
  var user=<?php echo $user?>;
  $.ajax({
    context: this, //add this!
    type: "POST",
    url: "actions/sub.php",
    data:{user: user} ,
    success: function(){
      $(this).attr('id', 'clean').html('<span>Unsubscribe</span>');
    }
  });
}); 

另请注意,这允许您稍微链接和清理事物。

关于javascript - jquery中元素的id不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561729/

相关文章:

javascript - 按键过滤 map

javascript - 格式化并验证文本区域中的多个电子邮件地址

javascript - 单击输入提交按钮时如何添加 fancybox?

php - 用于 PHP/Zend、Javascript/JQuery、CSS、HTML、XML 的 Eclipse IDE 设置

java - 如何从JSP建立与SocketClient的连接?

javascript - 拆分元素 ID 以仅返回数字

javascript - 更改 jwplayer 中元素的位置?

javascript - 有没有办法在完成第一个对象后调用另一个对象上的 jquery 函数?

javascript - jQuery remove() 在第一次尝试时不会删除,即使要删除的元素当时可见

javascript - 防止页面重新加载和重定向表单提交 ajax/jquery