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