我的问题是,我想要替换tooltip-content
中的内容,但它并不能取代它。
例如,如果我将body
内容替换为可用的data
内容,但它不会替换tooltip-content
。
目前是tooltip-content
中的加载sybmol。它只是HTML和CSS。
我有这个javascript:
$('td').hover(function () {
if ($(this).find('div.tooltip').length != 0 ) {
$.ajax({
method: "POST",
url: "dig.php",
data: {
host: $(this).find(' div.tooltip').attr('data-href'),
server: $(this).find(' div.tooltip').attr('data-server')
}
})
.done(function (data) {
console.log('worked');
$(this).find('div.tooltip-content').html(data);
});
}
});
答案 0 :(得分:2)
this
是指xhr对象。您需要将其作为上下文传递或将其设置为变量。
$('td').hover(function() {
var $this=$(this);
if ($this.find('div.tooltip').length != 0) {
$.ajax({
method: "POST",
url: "dig.php",
data: {
host: $(this).find(' div.tooltip').attr('data-href'),
server: $(this).find(' div.tooltip').attr('data-server')
}
})
.done(function(data) {
console.log('worked');
$this.find('div.tooltip-content').html(data);
});
}
});
如果设置了上下文
,则可以在ajax成功中使用this
$('td').hover(function() {
if ($(this).find('div.tooltip').length != 0) {
$.ajax({
method: "POST",
url: "dig.php",
context: this,
data: {
host: $(this).find(' div.tooltip').attr('data-href'),
server: $(this).find(' div.tooltip').attr('data-server')
}
})
.done(function(data) {
console.log('worked');
$(this).find('div.tooltip-content').html(data);
});
}
});