Ваш $ _this.prepend вызывается в функции setTimeout, где это отличается от внешних функций.Вы могли бы сделать что-то вроде:
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);
})
})
В противном случае, я думаю, что ваше решение кажется нормальным.
Обратите внимание, что $_this
- это переменная замыкания, используемая функцией, которую вы используете в setTimeout
, поэтому, если вам нужно сослаться на известный элемент, вы можете и должен избавиться от негокак прокомментировали другие (то есть используйте $('#loadScript')
для прямого доступа к элементу).