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
JQuery$.get:搜索数据响应以获取一些属性值_Jquery_Get_Replacewith - Fatal编程技术网

JQuery$.get:搜索数据响应以获取一些属性值

JQuery$.get:搜索数据响应以获取一些属性值,jquery,get,replacewith,Jquery,Get,Replacewith,我正在尝试使用$.get将div替换为其更新版本。我在做这样的事情: $('.clickable').click( function() { $.get(url, function(data) { $(this).replaceWith(data); }); }); 但它似乎不起作用。我猜这美元(这个)不喜欢这样改变,还是应该这样?如果不应该,我想通过搜索数据来检索当前div的属性值,是否可能 编辑:删除了$.get(url+'.'+$(this).attr('id'

我正在尝试使用$.get将div替换为其更新版本。我在做这样的事情:

$('.clickable').click( function() { 
   $.get(url, function(data) {
      $(this).replaceWith(data);
   });
});
但它似乎不起作用。我猜这美元(这个)不喜欢这样改变,还是应该这样?如果不应该,我想通过搜索数据来检索当前div的属性值,是否可能

编辑:删除了
$.get(url+'.'+$(this).attr('id')
,因为它看起来$get的行为实际上不像load()。因此,替换的div将显示整个数据…如果有人有合适的解决方案来选择数据的一部分,我将不胜感激。添加注释或其他内容

$('.clickable').click( function() { 
   $.get(url + ' #' + $(this).attr('id'), function(data) {
      $(this).replaceWith(data); // here
   });
});
在回调的作用域中,
引用回调本身。请使用另一个变量临时存储可单击项:

$('.clickable').click( function() { 
   var that = this;
   $.get(url + ' #' + $(this).attr('id'), function(data) {
      $(that).replaceWith(data);
   });
});

在您的
$.get
函数中,有一个新的作用域,因此
与以前的
不同。您可以将其保存在变量中:

$('.clickable').click( function() { 
   var elem = this;
   $.get(url + ' #' + $(this).attr('id'), function(data) {
      $(elem).replaceWith(data);
   });
});

这是指get对象,您可以在调用get操作之前将其设置为标识符 i、 e

$('.clickable').click( function() { 
   var replaceable = this;
   $.get(url + ' #' + $(this).attr('id'), function(data) {
      $(replaceable).replaceWith(data);
   });
});