jquery 用for循环 简略代码问题
$(function(){for(vari=1;i<=3;i++){$('#aikanTab0'+i).find('dldt').hover(function(){$('...
$(function(){
for(var i=1;i<=3;i++ ){
$('#aikanTab0'+i).find('dl dt').hover(function(){
$('#aikanTab0'+i+' dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
}
/*
var aikanTab01 = $('#aikanTab01').find('dl dt');
var aikanTab02 = $('#aikanTab02').find('dl dt');
var aikanTab03 = $('#aikanTab03').find('dl dt');
aikanTab01.hover(function(){
$('#aikanTab01 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
aikanTab02.hover(function(){
$('#aikanTab02 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
aikanTab03.hover(function(){
$('#aikanTab03 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
*/
});
</script>
html
<div id="aikanTab01" >
<dl >
<dt >鼠标hover给dl添加class</dt> <dd>内容</dd>
</di>
<dl class="selected">
<dt >鼠标hover给dl添加class</dt> <dd>内容</dd>
</di>
</div>
一共3个 div 里面嵌套dl dt 当鼠标移动到dt上时 给他的父级 dl加个class ,其他dl的class remove
我注释的代码是实现功能的了 我现在想把代码简化一下 但是现在这个for循环不好使 鼠标移上去就乱了
代码格式 什么的是没问题的 我已经能用了 就是想用for循环简化 不知道哪里搞错了 求指点 展开
for(var i=1;i<=3;i++ ){
$('#aikanTab0'+i).find('dl dt').hover(function(){
$('#aikanTab0'+i+' dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
}
/*
var aikanTab01 = $('#aikanTab01').find('dl dt');
var aikanTab02 = $('#aikanTab02').find('dl dt');
var aikanTab03 = $('#aikanTab03').find('dl dt');
aikanTab01.hover(function(){
$('#aikanTab01 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
aikanTab02.hover(function(){
$('#aikanTab02 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
aikanTab03.hover(function(){
$('#aikanTab03 dl').removeClass("selected");
$(this).closest('dl').toggleClass( "selected", 400 );
});
*/
});
</script>
html
<div id="aikanTab01" >
<dl >
<dt >鼠标hover给dl添加class</dt> <dd>内容</dd>
</di>
<dl class="selected">
<dt >鼠标hover给dl添加class</dt> <dd>内容</dd>
</di>
</div>
一共3个 div 里面嵌套dl dt 当鼠标移动到dt上时 给他的父级 dl加个class ,其他dl的class remove
我注释的代码是实现功能的了 我现在想把代码简化一下 但是现在这个for循环不好使 鼠标移上去就乱了
代码格式 什么的是没问题的 我已经能用了 就是想用for循环简化 不知道哪里搞错了 求指点 展开
2个回答
展开全部
for(var i=1; i<4; i++){
eval("var aikanTab0"+i+" = $('#aikanTab0"+i+"').find('dl dt');");
eval("aikanTab0" +i+".hover(function(){$('#aikanTab0"+i+" dl').removeClass(\"selected\");$(this).closest('dl').toggleClass( \"selected\", 400 );}");
}
试试吧,前几天学的一招
更多追问追答
追问
不行啊 你这个 根本没反应 实际上我这个代码for是有反应的 只是那个i的数值一直是一个数 在页面里的效果就乱七八糟的
追答
不是只改注释的地方?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询