使用AJAX重新加载除一个元素之外的DOM

时间:2014-05-22 08:05:29

标签: jquery html ajax dom

好的,所以我在页面上有一个audioplayer,在浏览页面时不应该停止。

页面布局不可更改(要求,不是我的想法),因此不可能只将音频播放器放在外面并重新加载内容。

是否可以使用ajax重新加载DOM,但是将部分与audioplayer分开,只是替换它周围的一切? 据我所知,这是不可能的,但我想确定,因为有人告诉我它是。

谢谢< 3

页面示例

<html>
<head>
 ...
</head>
<body>
<div id="headerandnavigationetc">...</div>
<div id="content>
   <div id="breadcrumbsnstuff">...</div>
   <div id="leftcolumn">
       Content
   </div>
   <div id="rightcolumn">
       More content
       <div id="audioplayer">player</div>
   </div>
</div>
<div id="footer">
    ...
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这取决于音频播放器在DOM中的位置。在调用AJAX之前,您可以在函数中修改DOM,以便要更改的所有内容都在<div id="ajaxme"></div>之内,然后音频播放器就在它之后。关于&#34;成功&#34;然后,您可以执行AJ $('#audioplayer').appendTo('#rightcolumn');

之类的功能

所以可能整个事情可能是:

function ChangeDom() {
   $('body').html('<div id="ajaxme">' + $('body').html() + '</div>');
   $('#audioplayer').insertAfter('#ajaxme');

   // Do AJAX to replace ajaxme div

   $('#audioplayer').appendTo('#rightcolumn');
}