jquery ,怎样优化下面代码,就是使代码重复利用
$("#type1").click(function(){$("#member1>li>span>input[type='checkbox']").attr("check...
$("#type1").click(function(){
$("#member1>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type1").attr("checked")==false){
$("#member1").hide();
}
else{
$("#member1").show();
}
});
$("#type2").click(function(){
$("#member2>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type2").attr("checked")==false){
$("#member2").hide();
}
else{
$("#member2").show();
}
});
$("#type3").click(function(){
$("#member3>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type3").attr("checked")==false){
$("#member3").hide();
}
else{
$("#member3").show();
}
});
$("#type4").click(function(){
$("#member4>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type4").attr("checked")==false){
$("#member4").hide();
}
else{
$("#member4").show();
}
});
$("#type5").click(function(){
$("#member5>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type5").attr("checked")==false){
$("#member5").hide();
}
else{
$("#member5").show();
}
}); 展开
$("#member1>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type1").attr("checked")==false){
$("#member1").hide();
}
else{
$("#member1").show();
}
});
$("#type2").click(function(){
$("#member2>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type2").attr("checked")==false){
$("#member2").hide();
}
else{
$("#member2").show();
}
});
$("#type3").click(function(){
$("#member3>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type3").attr("checked")==false){
$("#member3").hide();
}
else{
$("#member3").show();
}
});
$("#type4").click(function(){
$("#member4>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type4").attr("checked")==false){
$("#member4").hide();
}
else{
$("#member4").show();
}
});
$("#type5").click(function(){
$("#member5>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type5").attr("checked")==false){
$("#member5").hide();
}
else{
$("#member5").show();
}
}); 展开
2个回答
展开全部
外面套一个循环不就行了
for(int i=1 ;i <=5 ; i++){
$("#type"+i).click(function(){
$("#member1>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type"+i).attr("checked")==false){
$("#member"+i).hide();
}
else{
$("#member1").show();
}
});
}
这样的话扩展性还不是很好
最好给$("#type5")这样的元素加上特有的属性 然后用jq去或者这样的元素的一个数组
然后在程序里分析元素的下标 有了下标就不用我再说了吧
应该还有更好的实现方法 直接拿一个数组绑定方法也是行的
假如你获取了5个button的一个数组 btnvars.bind('''''') 这5个button都会有这个事件的
你再想想怎么弄吧
for(int i=1 ;i <=5 ; i++){
$("#type"+i).click(function(){
$("#member1>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type"+i).attr("checked")==false){
$("#member"+i).hide();
}
else{
$("#member1").show();
}
});
}
这样的话扩展性还不是很好
最好给$("#type5")这样的元素加上特有的属性 然后用jq去或者这样的元素的一个数组
然后在程序里分析元素的下标 有了下标就不用我再说了吧
应该还有更好的实现方法 直接拿一个数组绑定方法也是行的
假如你获取了5个button的一个数组 btnvars.bind('''''') 这5个button都会有这个事件的
你再想想怎么弄吧
更多追问追答
追问
急呀,先谢谢楼上的大大了,
$("#member1>li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
这里面的#member1也是会递加的,
追答
这里说不清楚
你Q多少hi发给我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery</title>
<script language="javascript" type="text/javascript" src="js/jquery-1.4.4.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("[id^='type']").each(function(i){
$(this).click(function(){
$("#member"+ (i+1) +">li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type"+(i+1)).attr("checked")==false){
$("#member"+(i+1)).hide();
}
else{
$("#member"+(i+1)).show();
}
})
});
});
</script>
</head>
<body>
<input type="checkbox" id="type1" />1<br>
<input type="checkbox" id="type2" />2<br>
<input type="checkbox" id="type3" />3<br>
<ul id="member1">
<li><span><input type="checkbox"/>1</span></li>
</ul>
<ul id="member2">
<li><span><input type="checkbox"/>2</span></li>
</ul>
<ul id="member3">
<li><span><input type="checkbox"/>3</span></li>
</ul>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery</title>
<script language="javascript" type="text/javascript" src="js/jquery-1.4.4.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$("[id^='type']").each(function(i){
$(this).click(function(){
$("#member"+ (i+1) +">li>span>input[type='checkbox']").attr("checked", $(this).attr("checked"));
if( $("#type"+(i+1)).attr("checked")==false){
$("#member"+(i+1)).hide();
}
else{
$("#member"+(i+1)).show();
}
})
});
});
</script>
</head>
<body>
<input type="checkbox" id="type1" />1<br>
<input type="checkbox" id="type2" />2<br>
<input type="checkbox" id="type3" />3<br>
<ul id="member1">
<li><span><input type="checkbox"/>1</span></li>
</ul>
<ul id="member2">
<li><span><input type="checkbox"/>2</span></li>
</ul>
<ul id="member3">
<li><span><input type="checkbox"/>3</span></li>
</ul>
</body>
</html>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询