jQuery更新元素即时添加?

时间:2011-11-23 18:40:28

标签: javascript jquery jquery-selectors

我的代码无效,我认为因为元素是动态添加

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 :(得分:0)

您没有将跨度插入DOM。

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

只有这样你才能使用选择器来找到元素并用它做点什么。

答案 1 :(得分:0)

这不起作用,因为您没有将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
}