I can't figure out why this script won't work unless i create a reference to $(this) and assign it to another variable like $_this =开发者_高级运维 $(this); this was the only solution i got, but was wondering if there is a better one - a less newbie one. Observe that i want to be able to use it in the $_this.prepend("Choose"+res) part, after the get response in a callback function:
 $('#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)
    })
})
thanks in advance.
You forgot the use of var in two places:
$loading = ...
and
$_this = ...
And I like self vs the ugly underscore there.
 $('#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);
    });
});
Your $_this.prepend is getting called in a setTimeout function, where this is different then in the outer functions. You could have done something like:
function myFunc() {
    // What is $(this) here? 
}
 $('#loadScript').one('click',function(e){
    $loading = $('<span> Loading Files... </span>');
    $(this).after($loading);
    $_this = $(this);
    $.get('eval.php',{loadScriptGetOptions:1}, function(res){
       setTimeout(myFunc, 1200);
    })
})
Otherwise, I think your solution seems OK.
Note that $_this is a closure variable as used by function you use in setTimeout, so if you need to reference a known element, you can and should get rid of it as others commented (i.e. use $('#loadScript') to access the element directly).
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论