用Jquery.load载入页面后样式没了页面混乱的解决方法

时间:2021-05-02

因为开始不懂Jquery,一直想用jquery.load的方法载入新的页面,以实现局部刷新,结果发现载入进来的页面与原来单独的页面不一样,样式没了,后来在网上查了一下,发现了解决办法,这是别人的回答:

是这样的,如果不过滤掉一些内容的话,直接加载,会使页面混乱的,比如新的页面也存在<body>标签,加载进来后,一个页面就会存在两个<body>标签是不规范的的HTML。这个是在jquery.load()函数中规定的。一般加载进来的页面需要自己根据加载的内容的元素重新定义CSS样式和添加js事件的。比如:

原页面A.html:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head><title></title></head> <body> <div id="container"></div> </body></html> 被load的页面B.html: <html> <head><title></title></head> <style>.page-li {font-size:12px;color:blue}</style> <body> <div id="page"> <ol class="page-li"> <li>234123</li><li>341234</li><li>41234</li><li>412de34</li> </ol> </div> </body></html>

在原页面A.html中加载调用的jquery.load(),然后再在原页面对 page-li 的样式重新定义下就可以了:

添加了load(),css的原页面:

? 1 2 3 4 5 6 7 8 9 10 11 <html> <head><title></title></head> <style>.page-li {font-size:12px;color:green}</style> <body> <div id="container"></div> <script type="text/javascript"> $(function(){ $("#container").load("B.html #page",null,function(){alert("加载成功")}); }); </script> </body></html>

希望对你有帮助

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章