Javascript 使用Ajax重新加载/刷新div
我试图将jquery的一部分放在一起以显示隐藏的div,同时刷新父div,以便javascript可以修改并显示新的高度 这就是我到目前为止所做的,但经过一些研究发现,要刷新div,您必须使用ajax,并且想知道是否有人可以帮忙Javascript 使用Ajax重新加载/刷新div,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图将jquery的一部分放在一起以显示隐藏的div,同时刷新父div,以便javascript可以修改并显示新的高度 这就是我到目前为止所做的,但经过一些研究发现,要刷新div,您必须使用ajax,并且想知道是否有人可以帮忙 var $r = jQuery.noConflict(); $r(document).ready(function() { $r('#open').click(function () { $r('#expandable-2').show(
var $r = jQuery.noConflict();
$r(document).ready(function() {
$r('#open').click(function () {
$r('#expandable-2').show('slow');
$r(this).load(location.href + '.panel > *');
});
$r('#close').click(function () {
$r('#expandable-2').hide('1000');
$r(this).load(location.href + '.panel > *');
});
});
到目前为止我有这个
- id为“打开”和“关闭”的链接
- 单击后,它们将display block的css属性和display none赋予div expandable-2
- 我一直关注的部分是刷新父div.面板,以便正确显示显示的div
document.getElementById("myDiv").innerHTML = new_content;
新内容可能是ajax调用返回的html,但您肯定不需要ajax调用来“刷新”div。您可以使用jQuery的
html
方法更改div的html
$r(".content-div").html("Hello world");
如果您希望使用ajax从服务器加载html,则应使用load
函数,如下所示:
$r(".content-div").load("ajax/users.html");
你的代码显然是一团糟。以下是一些提示:
- 如果父div包含#expandable-2,那么您将无法执行ajax调用并立即显示动画,因为ajax调用将在#expandable-2元素出现/消失时销毁它
- 通过ajax将外部代码加载到div中的正确方法是:
这将把“/path/to/url”的响应加载到“.panel”div中。确保“/path/to/url”只返回div的新内容,否则不能使用$r(“.panel”).load,但必须使用间接方法(即:$r.ajax)$r('.panel').load('/path/to/url');