Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清理加载Ajax内容时添加的CSS_Javascript_Html - Fatal编程技术网

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

Javascript 清理加载Ajax内容时添加的CSS,javascript,html,Javascript,Html,我使用Ajax将一个HTML文档附加到当前页面中,并在按下关闭按钮时删除这些添加的div。问题是,当我关闭时,div会从文档中删除,但是CSS不会删除,并且随着我加载和卸载Ajax内容,这个数字会不断增加。如何完全删除该页面标题内容为css、js的加载文档 编辑:我不知道为什么人们不想回答,但他们只是投了反对票。 这是我用来添加html文档的代码 $(function(){ $("a[rel='tab']").click(function(e){

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

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

<link rel="stylesheet" href="style.css">
<div id="main-content">
  <p>Blah blah blah</p>
</div>
因此,当您添加该内容时,整个内容都会被插入。当您删除它时,您只是删除divmain内容。要删除所有内容,我想到两个想法:

最好将文档用另一个文件包起来,然后将其移除 或者,您可以选择“divmain content”的同级元素,但这些元素可能更不可预测。 如果您要添加的文档不是这样的,那么请在OP中解释它是什么样子以及元素来自何处


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

如果有一组元素,则将它们放在其样式的DOM中,这样当您删除DOM时,也可以删除关联的元素。我只想在标题中添加它们,IDE显示警告,我不想这样做,有其他解决方案吗?能否显示用于添加和删除内容的代码?链接元素是如何添加的?原始HTML文档是什么样子的?你用什么来追加和删除代码?@matthias.p:我用我的代码编辑了检索内容和追加的内容。我做的和你上面提到的一样,Blah Blah Blah

我想用添加的样式将主要内容追加到我的页面上,并使用样式将其完全删除,但仅删除主要内容,因为我已经为其编写了代码,不知道如何删除完整的html文档,每次我加载此内容时,div都会被删除,但添加的样式保持不变。@user1531746,如回答中所述,如果您试图在另一个HTML文档中呈现另一个HTML文档,请使用iframe。尝试“合并”DOMs有很多问题——DOMs类型、冲突的ID、用于一个DOM而不是影响另一个DOM的样式,等等。使用AJAX将另一个DOM写入临时文件,并在iframe中呈现。@user1531746 iframe绝对受所有现代浏览器的支持,并且没有删除它的计划。关于从HTML5严格规范中删除它曾有过一些讨论,但最终他们保留了它。包括谷歌在内的许多广告都使用这种技术,这样出版商和广告商的内容就不会发生冲突。换句话说,我想说的是,至少在未来几年内,您可以安全地依赖iFrame。