使用Ajax重新加载/刷新div

时间:2012-09-19 11:11:10

标签: 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('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属性,并且不会显示为div expandable-2
  • 我坚持的部分是父div .panel的刷新,以便正确显示显示的div。

原因是我当前正在我的页面中使用CodaSlider脚本,并根据容器中的内容量动态引入高度。现在,为了在单击打开时显示新内容,需要刷新容器,从而显示具有新高度的新内容。

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

3 个答案:

答案 0 :(得分:1)

“刷新”你需要做的一个div:

document.getElementById("myDiv").innerHTML = new_content;

new_content可能是你的ajax调用返回的html,但你绝对不需要ajax调用来“刷新”div。

答案 1 :(得分:0)

您可以使用jQuery的html方法更改div的html。

$r(".content-div").html("Hello world");

如果您想从带有ajax的服务器加载html,您应该使用load函数,如下所示:

$r(".content-div").load("ajax/users.html");

答案 2 :(得分:0)

您的代码明显混乱。只是一些提示:

  • 如果您的父div包含#expanable-2,那么您将无法进行ajax调用并立即显示动画,因为ajax调用会在出现时消除#expansionable-2元素/消失。
  • 通过ajax将外部代码加载到div中的正确方法是:

    $r('.panel').load('/path/to/url');
    

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