用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
展开
 我来答
jishume
2011-05-03 · TA获得超过105个赞
知道答主
回答量:29
采纳率:0%
帮助的人:39.1万
展开全部
朋友,你的源码我在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的就要求严格了。
三楼那位朋友写的代码命名很好,楼主可借鉴。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zourong2791165
2011-04-28 · TA获得超过614个赞
知道小有建树答主
回答量:388
采纳率:0%
帮助的人:617万
展开全部
<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>
追问
不知道你的ie会不会出现下面的效果
追答
IE8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-04-21 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5481万
展开全部
你的html乱七八糟,<table id="table_1"/>这里用/>结束了表
后面</body>后面还有html
对于不同的浏览器,同样的html显示会不一样

把<table id="table_1"/>改成:<table id="table_1">
</body>放到最后,ie下测试通过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdlgdxgcjsxy
2011-05-03 · TA获得超过238个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:158万
展开全部
<!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可以满足
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-04
展开全部
已经给你发送消息到百度消息中心,注意查收
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式