1

当我做

new Ajax.Updater('foo', 'getALifeGuys.php', ...

这将更新的内容

<div id="foo">.

但是我如何用 ajax 调用的结果覆盖这个 div 呢?这背后的主要思想是我们不知道 foo-div 的父级,并且 ajax 调用的结果也包含<div id="foo">.

4

2 回答 2

5

您可以使用insertionoption,它也有一个函数:

new Ajax.Updater('foo', 'getALifeGuys.php', {
    insertion: function(el, response) {
        $(el).replace(response);
    }
});

如果您div#foo是其父元素的唯一子元素,您也可以只传递该父元素:

new Ajax.Updater($('foo').parentNode, 'getALifeGuys.php', …);
于 2013-03-22T14:32:29.940 回答
2

在这种情况下,您最容易做的事情是,而不是使用Ajax.Updater,使用Ajax.Requestwhich Ajax.Updaterwraps。在该方法的成功方法中,您可以使用Element.replace, 将带有 id 的 div 替换为foo从您的方法返回的内容。

于 2013-03-22T14:29:46.850 回答