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();
}
});
展开
 我来答
lyz661226
2011-04-20 · 超过26用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:0
展开全部
外面套一个循环不就行了
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发给我!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenchaoliang
推荐于2016-07-10 · TA获得超过1163个赞
知道大有可为答主
回答量:810
采纳率:0%
帮助的人:1519万
展开全部
<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>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式