如何使用jQuery基于TD的类属性仅删除指定分组的表格行子集?
实现方案
你可以用jQuery内置的nextUntil()方法快速实现需求,不需要额外写相邻行判断逻辑,完整代码如下:
$(".tableRow").on('click',function(){ // 仅选中当前教师行下方、下一个教师行之前的详情行删除 $(this).nextUntil('.tableRow').has('td.detail').remove(); });
逻辑说明
nextUntil('.tableRow')会匹配当前点击行之后的所有同级<tr>,直到碰到下一个带有.tableRow类的行就停止匹配,刚好把当前教师对应的所有关联行都圈选出来,完全不会涉及其他教师的行。has('td.detail')是二次筛选逻辑,仅保留圈选范围内包含.detail类<td>的行,避免后续表格调整新增其他非详情行时被误删,兼容性更强。- 选中的元素可以直接调用
remove()批量删除,不需要手动写each遍历,jQuery方法原生支持批量操作。
如果你的表格结构固定,.tableRow之间的所有行都是详情行,也可以简化为$(this).nextUntil('.tableRow').remove(),运行效果一致。
内容的提问来源于stack exchange,提问作者Highdel
相关产品推荐
相关产品推荐

