【急】为什么js注册好的事件在每个匹配元素只能执行一遍??
问题:如题。。请教一下,为什么会出这种结果?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>