Элементы обновления jQuery добавлены на лету? - PullRequest
0 голосов
/ 23 ноября 2011

Мой код не работает, я думаю, потому что элементы добавляются на лету :

var tooltip = $('<div/>').insertAfter('.trigger').addClass('tooltip');
var tname = $('<span/>').addClass('tname').text('(...)');
tooltip.html(tname.html()):

// Ajax call
success: function() {
  tname.html('success'); // not working
  $('.tooltip').find('.tname').html('success'); // not working
  $('.tname').html('success'); // not working
}

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Это не сработает, потому что вы не вставляете элемент tname в DOM.Смотрите это исправление ниже:

var tooltip = $('<div/>').insertAfter('.trigger').addClass('tooltip');
var tname = $('<span/>').addClass('tname').text('(...)');
tooltip.html("");
tooltip.append(tname);

// Ajax call
success: function() {
  tname.html('success'); // should work
  $('.tooltip').find('.tname').html('success'); // should work
  $('.tname').html('success'); // should work
}
0 голосов
/ 23 ноября 2011

Вы не вставляете диапазон в DOM.

//                                                       append to some element
var tname = $('<span/>').addClass('tname').text('(...)').appendTo(tooltip);

Только тогда вы можете использовать селекторы, чтобы найти элемент и что-то с ним сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...