清理加载Ajax内容时添加的CSS

时间:2012-08-15 16:20:36

标签: javascript html

我使用Ajax将HTML文档附加到当前页面,并在按下关闭按钮时删除这些添加的div。问题是,当我关闭时,div会从文档中删除,但CSS <link rel="stylesheet" href="style.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();
} ;

1 个答案:

答案 0 :(得分:0)

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

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

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

  • 最好将文档包装在另一个<div>中,然后将其删除
  • 或者,您可以选择'{1}}元素作为'div #main-content`的兄弟元素,但这可能更难以预测。

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

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