一直想用jquery.load的方法载入新的页面,以实现局部刷新,结果发现载入进来的页面与原来单独的页面不一样,样式没了。
解决方法:
如果不过滤掉一些内容的话,直接加载,会使页面混乱的,比如新的页面也存在<body>标签,加载进来后,一个页面就会存在两个<body>标签是不规范的的HTML。
这个是在jquery.load()函数中规定的。
一般加载进来的页面需要自己根据加载的内容的元素重新定义css样式和添加js事件的。
比如:
原页面A.html:
复制代码 代码示例:
<html>
<head><title>Jquery.load载入页面实现局部刷新_www.jb200.com</title></head>
<body>
<div id="container"></div>
</body>
</html>
被load的页面B.html:
复制代码 代码示例:
<html>
<head><title>Jquery.load载入页面实现局部刷新_www.jb200.com</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的原页面:
复制代码 代码示例:
<html>
<head>
<title>Jquery.load载入页面实现局部刷新</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>