如何在之后附加或其他解决方案
How to append after or other solution?
<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
直播: http://jsfiddle.net/tg5qD/
$('#new').click(function(){
$('#new').parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
演示
>演示 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>");
})
您可以通过以下方式修改 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 doccu)。
http://jsfiddle.net/tg5qD/5/
$('#new').on('click', function(){
$('#new').parent().before("<tr><td>one</td><td>two</td></tr>");
})
你可能想使用 prepend() 而不是 append()
这是一个演示: http://jsfiddle.net/tg5qD/3/
$('#new').click(function(){
$('#new').parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
演示 : http://jsfiddle.net/tg5qD/4/
我实际上会在单击事件中使用$(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>");
}
})
JS小提琴:http://jsfiddle.net/tg5qD/11/
您可以使用
以下方式。首先需要找到 id 'new' 的父tr
。然后我们可以将新元素附加到父元素之前。
$('#new').click(function(){
$(this).parent('tr').before("<tr><td>one</td><td>two</td></tr>");
})
$('#new').click(function(){
$("<tr><td>one</td><td>two</td></tr>").insertBefore($(this).parent());
});
阅读有关 .insertBefore() 的信息
演示
相关文章:
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- 在IE8和其他带有javascript的浏览器中获取正文类的标准解决方案是什么
- 下划线where with or condition(下划线、lodash或任何其他解决方案)
- 如何在之后附加或其他解决方案
- 我正在尝试遍历所有字母表的数组并将所有其他字母大写.任何解决方案
- jQuery $.browser 是未定义的.尝试了其他解决方案,但没有奏效
- 任何其他取代可见性崩溃的解决方案
- 将文本框中的信息发布到其他解决方案的另一个文本框中
- 解除绑定实际上并不起作用:还有其他解决方案吗
- Javascript模板或其他解决方案
- D3js响应堆叠条形图-其他主题解决方案不起作用
- 有没有一种方法可以为querySelectors编写开关语句或其他解决方案
- 如何在ES6中分离Jsx内部渲染函数到一个单独的文件?或任何其他解决方案,以分离逻辑和表示
- 如何在Javascript变量内编写for循环,或者是否有其他解决方案
- 如何打开/关闭$(document).click()事件或其他解决方案
- 与其他解决方案相比,内置的ng表分页在性能上存在问题
- setTimeout的执行不会阻止进一步的迭代发生-需要其他解决方案
- 如何使用nodejs iconv模块(或其他解决方案)在nodejs javascript中将字符编码从CP932转换为
- 文档.execCommand复制命令不工作或其他解决方案
- 得到一个未定义的索引错误,不知道为什么完全不知道为什么,似乎找不到任何其他解决方案