Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
避免使用AJAX加载的CSS来修改文档_Css_Ajax - Fatal编程技术网

避免使用AJAX加载的CSS来修改文档

避免使用AJAX加载的CSS来修改文档,css,ajax,Css,Ajax,我正在用AJAX加载整个页面。该页面包含一些CSS,当我加载该页面时,加载它的页面会被加载页面的CSS修改 例如,我有两页: 加载页面(CSS通常位于外部文件中) h1{颜色:#ff0000;} 标题是红色的 第二页将在此处加载。 加载页 <html> <head> <style> h1{color:#0000ff;} </style> </head> <body> <h1>Blue title</h1

我正在用AJAX加载整个页面。该页面包含一些CSS,当我加载该页面时,加载它的页面会被加载页面的CSS修改

例如,我有两页:

加载页面(CSS通常位于外部文件中)


h1{颜色:#ff0000;}
标题是红色的
第二页将在此处加载。
加载页

<html>
<head>
<style>
h1{color:#0000ff;}
</style>
</head>
<body>
<h1>Blue title</h1>
</body>
</html>

h1{颜色:#0000ff;}
蓝色标题
如果我通过AJAX将第二个页面加载到第一个页面的div中,该页面的标题将变为蓝色,我希望避免它

可能吗


提前感谢

只需在加载页面的标题中添加一个class或ID属性:

<html>
<head>
<style>
h1.ext{color:#0000ff;}
</style>
</head>
<body>
<h1 class="ext">Blue title</h1>
</body>
</html>

h1.ext{color:#0000ff;}
蓝色标题
或者,如果您无法控制该页面,请转到加载页面:

<html>
<head>
<style>
#mine {color:#ff0000;}
</style>
</head>
<body>
<h1 id="mine">Title is red</h1>
<div>second page will be loaded here.</div>
</body>
</html>

#我的{颜色:#ff0000;}
标题是红色的
第二页将在此处加载。
试试这个

$.GET('somewhere',function(data){
    $(data).find('div').appendTo($('#container'));
});

我不能,加载的文档来自谷歌文档,制作一些正则表达式来为每种样式添加class/id会花费太多时间。谢谢,这样做效果很好!问题是,这是一个非常大的工作要做。。。但这似乎是唯一有效的解决方案,所以我要这么做!谢谢,但如果我这样做了,加载页面上的样式将不会附加到页面上!例如,在本例中,我希望我的蓝色标题保持蓝色,而我的红色标题保持红色。@evuez不要让它太复杂,
#container h1{color:#0000ff;}
。我的错,这很有效,而且实现起来很简单!谢谢
$.GET('somewhere',function(data){
    $(data).find('div').appendTo($('#container'));
});