jquery+ajax局部刷新部分js失效怎么解决。

<html><head><scriptsrc="jquery.min.js"></script><script>$(function(){$("#menuli").eac... <html>
<head>
<script src="jquery.min.js"></script>
<script>
$(function(){
$("#menu li").each(function(){
var url=$(this).attr("data");
$(this).on("click",function(){
$("#main").load(url+" #main")
return false;
});
});
$(".first").hover(
function(){
$(this).addClass("abc");
},
function(){
$(this).removeClass("abc");
}
);
});
</script>
<style>
li{list-style:none;}
#menu{width:100%;}
#menu li{width:40px;height:25px;background: #ccc;float:left;margin-right:10px;text-align: center;}
.abc{color:red;}
</style>
</head>
<body>
<div id="menu">
<ul>
<li data="1.html"><a href="http://www.baidu.com">1</a></li>
<li data="2.html"><a href="http://www.hao123.com">2</a></li>
<li data="3.html"><a href="http://www.sina.com">3</a></li>
</ul>
</div>
<div id="main">
<div class="first">aaa</div>
</div>
</body>
</html>
刷新页面1.html aaa上面的有鼠标滑过效果,局部刷新后效果失效。
展开
 我来答
兰下小小草
推荐于2016-08-01 · TA获得超过181个赞
知道小有建树答主
回答量:105
采纳率:100%
帮助的人:89.6万
展开全部

失效的原因是你仅在页面加载时对元素进行处理,但通过ajax加载的新元素没做处理。

如果你仅需要改变样式,可以在css中通过选择器来实现,如

.first:hover {
    color:red;
}

如果你还需要对其进行其他处理,则需要在ajax的callback中对新加载的元素进行处理,如添加事件等

追问
谢谢您的回答,目的不是单纯改变样式,是想让js有效
神尾泼胡
2015-02-06
知道答主
回答量:9
采纳率:0%
帮助的人:1.1万
展开全部
局部刷新后效果失效。
追问
鼠标滑过的效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
经典短视频剪辑
2015-02-06 · 超过20用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:17.5万
展开全部
你的问题描述不清楚,能具体一点吗?
追问
问题很多加我Q联系好吗?2246512300
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式