当我做
new Ajax.Updater('foo', 'getALifeGuys.php', ...
这将更新的内容
<div id="foo">
.
但是我如何用 ajax 调用的结果覆盖这个 div 呢?这背后的主要思想是我们不知道 foo-div 的父级,并且 ajax 调用的结果也包含<div id="foo">
.
当我做
new Ajax.Updater('foo', 'getALifeGuys.php', ...
这将更新的内容
<div id="foo">
.
但是我如何用 ajax 调用的结果覆盖这个 div 呢?这背后的主要思想是我们不知道 foo-div 的父级,并且 ajax 调用的结果也包含<div id="foo">
.
您可以使用insertion
option,它也有一个函数:
new Ajax.Updater('foo', 'getALifeGuys.php', {
insertion: function(el, response) {
$(el).replace(response);
}
});
如果您div#foo
是其父元素的唯一子元素,您也可以只传递该父元素:
new Ajax.Updater($('foo').parentNode, 'getALifeGuys.php', …);
在这种情况下,您最容易做的事情是,而不是使用Ajax.Updater
,使用Ajax.Request
which Ajax.Updater
wraps。在该方法的成功方法中,您可以使用Element.replace
, 将带有 id 的 div 替换为foo
从您的方法返回的内容。