Javascript 赢得的元素的id';jquery中没有变化吗?
i、 eJavascript 赢得的元素的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
$(“#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(使用上下文)这样更可维护和可重用的解决方案更好。