我的页面上有一个表格,如下所示:
<table border="1">
<tr>
<td>first</td>
<td><a href="#">first click</a></td>
</tr>
<tr>
<td>second</td>
<td><a href="#">second click</a></td>
</tr>
<tr>
<td>third</td>
<td><a href="#">third click</a></td>
</tr>
<tr id="change">
<td colspan="2">
<button>change</button>
</td>
</tr>
</table>
当我点击链接时,我希望在点击的链接下移动'#change'。例如;当我点击“第一次点击”表这样的变化..
<table border="1">
<tr>
<td>first</td>
<td><a href="#">first click</a></td>
</tr>
<tr id="change">
<td colspan="2">
<button>change</button>
</td>
</tr>
<tr>
<td>second</td>
<td><a href="#">second click</a></td>
</tr>
<tr>
<td>third</td>
<td><a href="#">third click</a></td>
</tr>
</table>
我怎样才能使用JQuery?
答案 0 :(得分:2)
答案 1 :(得分:1)
jQuery('td a').click(function(){
$(this).parents("tr").after($('#change'));
});
答案 2 :(得分:1)
使用事件委派,因此只将事件监听器添加到混合而不是几个:
// Using Event Delegation only adds one event listener
$("table").on("click", "a", function (event) {
// Prevent any navigation or jumping to the top of the page
event.preventDefault();
// Find the closest <tr>, insert #change after it.
$(this).closest("tr").after($("#change"));
});
答案 3 :(得分:0)
试试这个(未经测试的)
jQuery('td a').each(function(){
var j = jQuery(this);
jTr = j.closest('table').find('#change');
j.closest('tr').after(jTr);
});
答案 4 :(得分:0)
$("a").click( function(){
var $change = $('#change');
$('#change').remove();
$(this).closest('tr').after($change);
});