<table border="2">
<tr><td>one</td><td>two</td></tr>
<tr><td>one</td><td>two</td></tr>
<tr><td colspan="2" id="new" >add new</td></tr>
</table>
$('#new').click(function(){
$('#new').append("<tr><td>one</td><td>two</td></tr>");
})
现在,如果我点击“添加新”,那么这就是:
one | two
one | two
add new
one two
我该如何制作:
one | two
one | two
one | two
add new
答案 0 :(得分:2)
$('#new').click(function(){
$('#new').parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
答案 1 :(得分:1)
您可以通过以下方式修改JavaScript代码:
$('#new').click(function(){
$('#new').parent().before("<tr><td>one</td><td>two</td></tr>");
})
或者也可以修改HTML,以使用该脚本。
<table border="2">
<tr><td>one</td><td>two</td></tr>
<tr><td>one</td><td>two</td></tr>
<tr id="new"><td colspan="2" >add new</td></tr>
</table>
<script>
$('#new').click(function(){
$('#new').before("<tr><td>one</td><td>two</td></tr>");
});
</script>
第二个解决方案将点击处理程序附加到行而不是单元格。这样您就可以轻松使用before
(jQuery docu)。
答案 2 :(得分:1)
$('#new').on('click', function(){
$('#new').parent().before("<tr><td>one</td><td>two</td></tr>");
})
答案 3 :(得分:1)
演示 http://jsfiddle.net/eDNH5/2/
另一项工作演示 http://jsfiddle.net/eDNH5/5/
API:http://api.jquery.com/before/
更新了另一种方式
$('#new').click(function(){
$('table tr:last').before('<tr><td>one</td><td>two</td></tr>');
})
<强>码强>
$('#new').click(function(){
$('#new').parent().before("<tr><td>one</td><td>two</td></tr>");
})
答案 4 :(得分:1)
答案 5 :(得分:1)
$('#new').click(function(){
$('#new').parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
答案 6 :(得分:1)
我实际上会在click事件中使用$(this)
引用添加新按钮。保存您再次在DOM中查找元素。
$('#new').click(function(){
$(this).parent().before("<tr><td>one</td><td>two</td></tr>");
})
更好的是,如果您使用.on
事件对象,您可以根据需要灵活地在稍后关闭此点击事件。
$('#new').on({
"click.addNew": function(){
$(this).parent().before("<tr><td>one</td><td>two</td></tr>");
}
})
答案 7 :(得分:1)
您可以使用以下方式..首先需要找到ID为'new'的父tr
。然后我们可以将新元素追加到父元素之前。
$('#new').click(function(){
$(this).parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
答案 8 :(得分:1)
$('#new').click(function(){
$("<tr><td>one</td><td>two</td></tr>").insertBefore($(this).parent());
});
<强> DEMO 强>