【急】为什么js注册好的事件在每个匹配元素只能执行一遍??

nokia_N73 2009-11-10 09:43:33
问题:如题。。请教一下,为什么会出这种结果?IE6和Firefox都是同样情况。
<script language="javascript">
var state = 0;
$(function(){
$('.edit').click(function(){
if(state == 1){
var index = $('tr').index($('.update').parent().parent());
for(i=1;i<6;i++){
var obj = $('.update').parent().parent().children().eq(i);
var input = $('tr:eq('+index+') > td:eq('+i+') > input');
// alert(input.val());
obj.html(input.val());
}
$('tr:eq('+index+') > td:eq(6) > a:eq(0)').replaceWith("<a href='#' class='edit'>Modify</a>");
$('.update').replaceWith("<a href='#' class='edit'>Modify</a>");
}
state = 1;
for(i=1;i<6;i++){
var obj = $(this).parent().parent().children().eq(i);
// alert(obj.html());
obj.html("<input type='text' size=8 value='"+obj.html()+"' />");
}
$(this).replaceWith("<a href='#' class='update'>Update</a>");
return false;
});
});
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Sex</th>
<th>Birthday</th>
<th>Work</th>
<th>WorkID</th>
<th>Operation</th>
</tr>
<tr>
<td>1</td>
<td>Lucy</td>
<td>0</td>
<td>1989-11-08</td>
<td>Actor</td>
<td>1001</td>
<td><a href="#" class="edit">Modify</a>  <a href="#" class="del">Delete</a></td>
</tr>
<tr>
<td>2</td>
<td>Mike</td>
<td>1</td>
<td>1984-02-29</td>
<td>Engineer</td>
<td>1002</td>
<td><a href="#" class="edit">Modify</a>  <a href="#" class="del">Delete</a></td>
</tr>
<tr>
<td>3</td>
<td>Bob</td>
<td>1</td>
<td>1998-11-08</td>
<td>Helper</td>
<td>1003</td>
<td><a href="#" class="edit">Modify</a>  <a href="#" class="del">Delete</a></td>
</tr>
</table>
...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
nokia_N73 2009-11-10
  • 打赏
  • 举报
回复
哎,自己解决了。

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧