如题
我写了两个页面 a.jsp b.jsp 里面分别引入a.css b.css 问题如下
在a页面利用ajax实现局部刷新<div>块 将b.jsp返回
触发函数返回后的b.jsp内的body样式将a.jsp内的body样式覆盖掉了
如何才不会被覆盖
这个只能人工处理好
用ajax加载实际上是把被加载文件的源代码直接复制到当前页面中,两个文件中的css和js会混合在一起,如果不处理好很容易起冲突。
所以用ajax加载的文件最好只有内容部分,不要有<head>,<body>等标签,css和js都事先放到父页面中。
一定要在 b.jsp中引入样式,可以给b.jsp中最外层元素加个id,比如b.jsp的代码:
<div id="b_box">
<h1>xxxx</h1>
<p>xxxxxxxx</p>
</div>
在 b.css 中所有选择器前面都加上#b_box
#b_box h1 {
color: #f00;
}
#b_box p {
color: #00f;
}
这样b.jsp内样式就不会影响到a.jsp内的其它h1和p元素。
利用ajax实现局部刷新的目的就是为了减少网络数据传输,一般只返回需要刷新区域的数据,不推荐返回整个页面。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632