如果ajax完成,用请求的数据替换html
If ajax done replace html with the requested data
我的问题是,我想替换tooltip-content
中的内容,但它没有替换它。例如,如果我用data
替换body
内容,它可以工作,但它不会替换tooltip-content
。
目前是tooltip-content
中的一个加载符号。这只是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);
});
}
});
this
内ajax成功是指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);
});
}
});
如果你设置了context
,你可以在ajax success中使用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);
});
}
});
裁判:http://api.jquery.com/jquery.ajax/
相关文章:
- 如何替换数据属性中的特定字符串单词
- 用Promises返回的数据替换出现的文本
- 按数据属性循环元素并替换值
- 追加子数据 URI,替换 IE 中的其他对象
- jQuery:裁剪以删除图像数据并替换为新数据
- 需要帮助-用数据库中的数据替换DIV内容而不刷新(使用-jquery、hmlhttp、CI)
- 循环并用parseJSON数据替换CSS
- 替换不处理数据属性值
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 在javascript中替换当前数据时出错
- jquery替换DIV数据,然后跟踪对它的点击
- Breeze不会用其真实数据替换Ref:节点
- 用新数据替换observableArray
- AJAX 数据 - 替换 HTML 与更新值属性
- Chrome扩展:用剪贴板数据替换文本区域中的选定文本
- 用从某个URL检索到的数据替换整个html-body内容
- 数据表用其作用域之外的数据替换变量
- 使用PHP和javascript将数据替换为json文件
- 如果ajax完成,用请求的数据替换html
- 用新数据替换附加的数据