javascript - jquery 使用 .after() 在表中添加行

标签 javascript html

var stop_index = 1;

$('.add_stop').click(function(){
        tr = '#stop' + stop_index
        $(tr).after('<tr id="stop'+ stop_index + '"><td>'+ stop_index +'</td></tr>');
        stop_index ++;
});

这是代码(在表格中添加一行)。

但是,它不起作用。

如果我编写这样的代码,它就可以工作。

$('#stop1').after('<tr id="stop'+ stop_index + '"><td>'+ stop_index +'</td></tr>');

问题是什么?

最佳答案

查看您的代码,您已经需要 <tr id="stop1">元素使其工作,然后下一个也添加 id stop1 。也许您应该尽早增加该值

var stop_index = 1;

$('.add_stop').click(function(){
        tr = '#stop' + stop_index
        stop_index ++;
        $(tr).after('<tr id="stop'+ stop_index + '"><td>'+ stop_index +'</td></tr>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr id="stop1"><td>1</td></tr>
</table>
<button class="add_stop">
Add
</button>

虽然增加 id 有点反模式,但您应该考虑是否需要它们。如果您只是尝试添加行,则添加到现有列表的末尾要简单得多

var index = 1;
$('.add_stop').click(function(){      
    $('table').append('<tr><td>'+ ++index +'</td></tr>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr><td>1</td></tr>
</table>
<button class="add_stop">
Add
</button>

关于javascript - jquery 使用 .after() 在表中添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50638372/

相关文章:

javascript - 将某些内容添加到 UL 时是否会引发事件?

javascript - 为什么 jQuery 扩展方法不复制我的 javascript 对象?

javascript - 如何将一个巨大的div分割成多个div?

javascript - Bootstrap 3 旋转木马固定高度

javascript - jQuery Validate Plugin - 如何创建一个简单的自定义规则?

javascript - 如何在 JavaScript 中删除特定行(包括换行符)?

javascript - 如何使用 JSHint 禁用有关 'this' 和严格模式的警告?

javascript - 如何在 IE 中散焦下拉菜单? ( Angular )

javascript - 如何向 HTML 添加数据供 JavaScript 使用

javascript - 如何在javascript页面自动播放声音?