Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 赢得的元素的id';jquery中没有变化吗?_Javascript_Jquery_Ajax_Request - Fatal编程技术网

Javascript 赢得的元素的id';jquery中没有变化吗?

Javascript 赢得的元素的id';jquery中没有变化吗?,javascript,jquery,ajax,request,Javascript,Jquery,Ajax,Request,i、 e $(“#savenew”).live('click',函数(e){ var user=; $.ajax({ 类型:“POST”, url:“actions/sub.php”, 数据:{user:user}, 成功:函数(){ $('#savenew').html('Unsubscribe'); $(this.attr('id','clean');//这是我的问题我的问题 } }); }); ajax请求之后的id没有从savenew更改为clean,但是html非常好,所以我知道a

i、 e

$(“#savenew”).live('click',函数(e){
var user=;
$.ajax({
类型:“POST”,
url:“actions/sub.php”,
数据:{user:user},
成功:函数(){
$('#savenew').html('Unsubscribe');
$(this.attr('id','clean');//这是我的问题我的问题
}
});
}); 
ajax请求之后的id没有从savenew更改为clean,但是html非常好,所以我知道ajax请求正在工作。你认为问题出在哪里?

$(此)
内部
success:function(){
不指
$('savenew')

正如您在上一行中所做的那样,您需要通过id引用它:

$("#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
                        }
            });
     }); 
$(this)
内部
success:function(){
不引用
$(“#savenew”)

正如您在上一行中所做的那样,您需要通过id引用它:

$("#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
                        }
            });
     }); 

您只需保存
上下文
(通过),因此
仍指
#savenew
,如下所示:

$('#savenew').attr('id', 'clean');
$(“#savenew”).live('click',函数(e){
var user=;
$.ajax({
context:this,//添加这个!
类型:“POST”,
url:“actions/sub.php”,
数据:{user:user},
成功:函数(){
$(this.attr('id','clean').html('Unsubscribe');
}
});
}); 

还请注意,这允许您链接和清理一些内容。

您只需要保存
上下文
(通过),因此
仍然指
#savenew
,如下所示:

$('#savenew').attr('id', 'clean');
$(“#savenew”).live('click',函数(e){
var user=;
$.ajax({
context:this,//添加这个!
类型:“POST”,
url:“actions/sub.php”,
数据:{user:user},
成功:函数(){
$(this.attr('id','clean').html('Unsubscribe');
}
});
}); 

还请注意,这允许您链接和清理一些东西。

@getaway-虽然您可以这样做,但效率要低得多,为什么在您已经拥有元素的情况下再运行两次选择器?:)是的,您可以链接$(“#savenew”)上的调用。当然,还有一个更易于维护和重用的解决方案,如Nick的(使用上下文)更好。@getaway-虽然可以这样做,但效率要低得多,为什么在已经有元素的情况下再运行两次选择器?:)是的,可以在$(“#savenew”)上链接调用。当然,像Nick(使用上下文)这样更可维护和可重用的解决方案更好。