用jQuery 的clone复制radio
<html><head><scripttype="text/javascript"src="jquery.js"></script></head><body><table...
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<table id="table_1"/>
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
</body>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").after(ss);
});
</script>
</html>
单击button按钮然后再点击radio后,firefox出现了预期效果 而ie未出现,这是为什么??求教破解之法。
修正了一下代码
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").af 展开
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<table id="table_1"/>
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
</body>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").after(ss);
});
</script>
</html>
单击button按钮然后再点击radio后,firefox出现了预期效果 而ie未出现,这是为什么??求教破解之法。
修正了一下代码
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").af 展开
5个回答
展开全部
朋友,你的源码我在IE6、7、8上测试都可以,而FF3.6上测试时第一次按钮点击正常,以后再次的点击就出错了。
代里的问题很简单:
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
这两句代码出问题了,复制的table和radio都用一个ID,在DOM元素中冲突的,所以想办法避免这个命名问题即可。IE的容错性比较高,所以显示正常,而FF的就要求严格了。
三楼那位朋友写的代码命名很好,楼主可借鉴。
代里的问题很简单:
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
这两句代码出问题了,复制的table和radio都用一个ID,在DOM元素中冲突的,所以想办法避免这个命名问题即可。IE的容错性比较高,所以显示正常,而FF的就要求严格了。
三楼那位朋友写的代码命名很好,楼主可借鉴。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").after(ss);
});
</script>
怎么跑body外面去了。。。
放进body里面看看~
---------------------------
我把你代码粘贴过来~IE6,7,,8都可以~肯定就是放在body外面的原因了~
-----------------------------不知道是不是你要的效果----------------------------
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_"+Math.random());
$(ss).find("input[type='radio']").attr("name","radio_"+Math.random());
$("#table_1").after(ss);
});
</script>
</body>
</html>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_2");
$(ss).find("input[type='radio']").attr("name","radio_2");
$("#table_1").after(ss);
});
</script>
怎么跑body外面去了。。。
放进body里面看看~
---------------------------
我把你代码粘贴过来~IE6,7,,8都可以~肯定就是放在body外面的原因了~
-----------------------------不知道是不是你要的效果----------------------------
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1"/>
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
<script type="text/javascript">
$("#button").click(function(){
var ss = $("#table_1").clone(true);
$(ss).attr("id","table_"+Math.random());
$(ss).find("input[type='radio']").attr("name","radio_"+Math.random());
$("#table_1").after(ss);
});
</script>
</body>
</html>
追问
不知道你的ie会不会出现下面的效果
追答
IE8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的html乱七八糟,<table id="table_1"/>这里用/>结束了表
后面</body>后面还有html
对于不同的浏览器,同样的html显示会不一样
把<table id="table_1"/>改成:<table id="table_1">
</body>放到最后,ie下测试通过
后面</body>后面还有html
对于不同的浏览器,同样的html显示会不一样
把<table id="table_1"/>改成:<table id="table_1">
</body>放到最后,ie下测试通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var i=2;
$(function(){
$("#button").click(function(){
var ss = $("#table_1").clone();
ss.attr("id","table_"+i);
ss.find("input[type='radio']").attr("name","radio_"+i);
$("#table_1 input[type=radio]").each(function(i){
var sel=$(this).attr("checked");
ss.find("input[type='radio']").eq(i).attr("checked",sel);
});
$("#table_1").after(ss);
i++;
});
});
</script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1" />
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
</body>
</html>
你的意思是不是动态生成一个radio到原先radio的下面,这个复制的radio和原先那个具有一摸一样的checed属性啊?如果是的话,我这个demo可以满足
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var i=2;
$(function(){
$("#button").click(function(){
var ss = $("#table_1").clone();
ss.attr("id","table_"+i);
ss.find("input[type='radio']").attr("name","radio_"+i);
$("#table_1 input[type=radio]").each(function(i){
var sel=$(this).attr("checked");
ss.find("input[type='radio']").eq(i).attr("checked",sel);
});
$("#table_1").after(ss);
i++;
});
});
</script>
</head>
<body>
<table id="table_1">
<tr><td>
<input type="radio" name ="radio_1" />
<input type="radio" name ="radio_1"/>
</td></tr>
</table>
<input type="button" id="button" value="click"/>
</body>
</html>
你的意思是不是动态生成一个radio到原先radio的下面,这个复制的radio和原先那个具有一摸一样的checed属性啊?如果是的话,我这个demo可以满足
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-04
展开全部
已经给你发送消息到百度消息中心,注意查收
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询