0

我正在使用 Ajax 将 HTML 文档附加到当前页面中,并在按下关闭按钮时删除那些添加的 div。问题是,当我关闭时,从文档中删除了 div,但<link rel="stylesheet" href="style.css">没有删除 CSS,并且随着我加载和卸载 Ajax 内容,这个数字不断增加。如何使用该页面的标题内容(css,js)完全删除加载的文档?

编辑:我不知道为什么人们不想回答,但他们只是投反对票。这是我用来添加的代码(附加 html 文档)

$(function(){
              $("a[rel='tab']").click(function(e){
                pageurl = $(this).attr('href');
                $.get(pageurl, function(html) {
                          $(html).hide().appendTo('body').fadeIn(500);
                      }, 'html');

                //to change the browser URL to the given link location
                if(pageurl!=window.location){
                  window.history.pushState({path:pageurl},'',pageurl);
                }
                //stop refreshing to the page given in
                return false;
              });
            });

以及删除 div 的代码

function close(){

        $("#mainContent").fadeOut(500, function() { $(this).remove(); });
        window.history.back();
} ;
4

1 回答 1

0

我看不到您尝试添加/删除的文档,但我猜它看起来像这样:

<link rel="stylesheet" href="style.css">
<div id="main-content">
  <p>Blah blah blah</p>
</div>

因此,当您添加该内容时,整个内容都会被插入。删除它时,您只是删除了div#main-content. 要删除所有内容,我想到了两个想法:

  • 最好将文档包装在另一个文件中,<div>然后将其删除
  • 或者,您可以选择<link>与“div#main-content”同级的元素,但这可能会更加不可预测。

如果您添加的文档看起来不像,那么请在 OP 中解释它的外观以及元素<link>的来源。

如果您在另一个页面中执行 HTML 预览之类的操作,请考虑创建一个 iframe。使用 AJAX 创建一个临时 URL 作为源。优点是可以避免在有效合并两个 DOM 时发生的冲突。

于 2012-08-15T22:08:31.103 回答