gpt4 book ai didi

javascript - jQuery - 为什么 $(this) 在子作用域中不起作用?

转载 作者:行者123 更新时间:2023-11-30 09:07:10 25 4
gpt4 key购买 nike

除非我创建对 $(this) 的引用并将其分配给另一个变量,如 $_this = $(this);,否​​则我不明白为什么这个脚本不起作用;这是我得到的唯一解决方案,但想知道是否有更好的解决方案 - 新手较少的解决方案。观察到我希望能够在 $_this.prepend("Choose"+res) 部分中使用它,在回调函数中获得响应之后:

 $('#loadScript').one('click',function(e){
$loading = $('<span> Loading Files... </span>');
$(this).after($loading);
$_this = $(this);

$.get('eval.php',{loadScriptGetOptions:1}, function(res){
setTimeout(function(){
$loading.remove();
$_this.prepend("<option>Choose</option>"+res);
},1200)

})

})

提前致谢。

最佳答案

您在两个地方忘记了使用var:

$loading = ...

$_this = ...

我喜欢 self 而不是那里丑陋的下划线。

 $('#loadScript').one('click',function(e){

var $loading = $('<span> Loading Files... </span>');
$(this).after($loading);

var $self = $(this);

$.get('eval.php',{loadScriptGetOptions:1}, function(res){
setTimeout(function(){
$loading.remove();
$self.prepend("<option>Choose</option>"+res);
}, 1200);

});

});

关于javascript - jQuery - 为什么 $(this) 在子作用域中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com