Javascript 使用Ajax重新加载/刷新div

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(

我试图将jquery的一部分放在一起以显示隐藏的div,同时刷新父div,以便javascript可以修改并显示新的高度

这就是我到目前为止所做的,但经过一些研究发现,要刷新div,您必须使用ajax,并且想知道是否有人可以帮忙

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
原因是我目前正在页面中使用CodaSlider脚本,高度是根据容器中的内容动态引入的。现在,为了在单击open时显示新内容,需要刷新容器,从而以新高度显示新内容

希望这是有意义的,但任何帮助都会很棒。

要“刷新”一个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中的正确方法是:

    $r('.panel').load('/path/to/url');
    
    这将把“/path/to/url”的响应加载到“.panel”div中。确保“/path/to/url”只返回div的新内容,否则不能使用$r(“.panel”).load,但必须使用间接方法(即:$r.ajax)