当我这样做时
new Ajax.Updater('foo', 'getALifeGuys.php', ...
这将更新
的内容 <div id="foo">
。
但是我怎么用ajax调用的结果覆盖这个div呢?这背后的主要思想是我们不知道foo-div的父级,而ajax调用的结果也包含<div id="foo">
。
答案 0 :(得分:5)
你可以使用insertion
option,它也有一个功能:
new Ajax.Updater('foo', 'getALifeGuys.php', {
insertion: function(el, response) {
$(el).replace(response);
}
});
如果您的div#foo
是其父元素的唯一子元素,您也可以传递该父元素:
new Ajax.Updater($('foo').parentNode, 'getALifeGuys.php', …);
答案 1 :(得分:2)
在这种情况下,最简单的方法是使用Ajax.Updater
包裹的Ajax.Request
,而不是使用Ajax.Updater
。在成功方法的内部,您可以使用Element.replace
将ID为foo
的div替换为从您的方法返回的内容。