1
control_td.each(function(){
$.ajax({
  url: 'control.php?udid='+$(this).attr('udid'),
  cache: false,
  async: true
}).done(function(data) {
  $(this).html(data);
});
});

ただし、サブ関数では機能$thisしません。.doneここで何が間違っていますか?

4

3 に答える 3

6

thisコールバックで要素 item を参照していないためです。

新しい値で閉じてみてください。

control_td.each(function(){
var $self = $(this); // magic here!
$.ajax({
  url: 'control.php?udid='+$(this).attr('udid'),
  cache: false,
  async: true
}).done(function(data) {
  $self.html(data);
});
});
于 2013-04-01T13:32:58.493 に答える
4

これを試して:

control_td.each(function () {
    var $this = $(this);
    $.ajax({
        url: 'control.php?udid=' + $this.attr('udid'),
        cache: false,
        async: true
    }).done(function (data) {
        $this.html(data);
    });
});
于 2013-04-01T13:33:19.410 に答える
3

contextのオプションを設定することもできます。このオプション$.ajaxチェックしてください

control_td.each(function(){
  $.ajax({
    url: 'control.php?udid='+$(this).attr('udid'),
    cache: false,
    async: true,
    context: this
  }).done(function(data) {
    $(this).html(data);
  });
});
于 2013-04-01T13:36:44.347 に答える