在表行上使用.remove会产生显示样式:none
Using .remove on a table row produces style of display:none
我正试图从我的表中删除一行。每行包含一个文本输入、编辑按钮和删除按钮。当我单击"删除"时,我希望删除整行。这是我的jquery代码:
$(document).on('click', 'button#delete_x', function () {
$(this).closest('tr').fadeOut(500, function(){
$(this).parents('tr:first').remove();
});
});
我没有访问行id,所以我得到最接近tr的删除按钮。我的问题是,而不是删除行,一个新的内联样式的显示:没有出现在我的tr!我想知道为什么会发生这种情况?我在mac yosemite上使用的是safari浏览器
fadeOut()与删除一行不同。你想要。remove()
您要删除的行是行动画的父行,而不是行本身。
这是因为实际的"This"值取决于调用地点,或者像大多数jquery方法一样,显式强制执行。
在jquery中,"this"通常被强制为您正在操作的元素。因此,当你向fadeOut()方法传递回调时,在这个回调中,"this"将指向被淡出的元素(在本例中是你想要删除的行)。
试试这个:
$(document).on('click', 'button#delete_x', function () {
$(this).closest('tr').fadeOut(500, function(){
$(this).remove();
});
});
…或者更清楚:
$(document).on('click', 'button#delete_x', function () {
var me = $(this).closest('tr');
me.fadeOut(500, function(){
me.remove();
});
});
这是因为您正在使用. fadeout()。使用jquery .remove():
简单地删除元素$(document).on('click', 'button#delete_x', function () {
$(this).parents('tr:first').remove();
});
注。我还想看到你的html标记的副本。
相关文章:
- 应用程序在呈现Jquery Mobile之前显示无样式的Html
- 避免在用ng href加载样式表之前显示内容
- 如何使活动菜单项具有突出显示样式
- dd显示样式更改为none
- 设置正文显示样式 无 与一个子显示样式块
- 删除 javascript 中 html 按钮的默认显示样式属性
- 向幻灯片放映添加滚动显示样式
- 为什么不'DOM样式节点显示样式表应用的样式
- 在外部设置显示样式会导致onclick()事件初始化两次点击
- 有没有“电影演职员表”滚动显示?样式插件的单词列表
- 检查DIV元素的显示样式
- 使用JavaScript动态更改img标签中的显示样式
- Jquery和Javascript没有返回显示样式的实际值
- 使用Javascript在不影响打印样式的情况下更改显示样式(CSS)
- 表格行的显示样式与标题保持对齐
- 在哪里可以找到 HTML 标记的默认“显示”样式属性
- “显示”样式属性不正确
- 不显示样式
- -WEBKIT-TRANSITION显示样式
- 在表行上使用.remove会产生显示样式:none