我需要删除从ID为"#Delete FirstRow"的行到ID为"#Delete LastRow"的行范围内的表行.但这两个ID中的所有其他行都应该保留. 注:我试图搜索发布的答案,但没有得到任何有效的解决方案.请救救我!

这是我的桌子:


<table>

    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>

    <tr id="deleteFirstRow">deleteRow</tr>
    <tr>deleteRow</tr>
    <tr>deleteRow</tr>
    <tr>deleteRow</tr>
    <tr id="deleteLastRow">deleteRow</tr>

    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>

</table>

我试过这个代码:

$("table tr:not(#deleteFirstRow, #deleteLastRow)").remove();

但是这段代码删除了除ID为"#Delete FirstRow"和"#Delete LastRow"的行以外的所有行.

我想要的是只删除"#DeleteFirstRow"和"#Delete LastRow"之间的行,并删除"#DeleteFirstRow"和"#Delete LastRow".

因此,预期结果应该如下所示:


<table>

    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>

    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>
    <tr>doNotDeleteRow</tr>

</table>

推荐答案

您可以根据两个边界元素对所有行的集合进行slice,然后调用remove.

const rows = $('table tr');
rows.slice(rows.index($('#deleteFirstRow')), 
            rows.index($('#deleteLastRow')) + 1).remove();
tr {
  display: block;
  border: 1px solid;
  padding: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
    <tr class="doNotDeleteRow"><td>1</td></tr>
    <tr class="doNotDeleteRow"><td>2</td></tr>
    <tr class="doNotDeleteRow"><td>3</td></tr>
    <tr id="deleteFirstRow"><td>4</td></tr>
    <tr class="deleteRow"><td>5</td></tr>
    <tr class="deleteRow"><td>6</td></tr>
    <tr class="deleteRow"><td>7</td></tr>
    <tr id="deleteLastRow"><td>8</td></tr>
    <tr class="doNotDeleteRow"><td>9</td></tr>
    <tr class="doNotDeleteRow"><td>10</td></tr>
    <tr class="doNotDeleteRow"><td>11</td></tr>
</table>

Javascript相关问答推荐

如何从defineExpose访问数据和方法

react 页面更改类别时如何返回第0页

如何解决(不忽略)reaction详尽的linter规则,而不会在获取数据时导致无限的reender循环

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

MongoDB中的引用

将2D数组转换为图形

jQuery s data()[storage object]在vanilla JavaScript中?'

编剧如何获得一个div内的所有链接,然后判断每个链接是否都会得到200?

Use Location位置成员在HashRouter内为空

如何在HTMX提示符中设置默认值?

在Odoo中如何以编程方式在POS中添加产品

如何用javascript更改元素的宽度和高度?

处理TypeScrip Vue组件未初始化的react 对象

在Java脚本中录制视频后看不到曲目

为什么在运行于<;img>;事件处理程序中的JavaScript中x和y是不可变的?

未找到用于 Select 器的元素:in( puppeteer 师错误)

如何将字符串拆分成单词并跟踪每个单词的索引(在原始字符串中)?

Plotly.js栏为x轴栏添加辅助文本

在点击链接后重定向至url之前暂停

如果查询为空,则MongoDB将所有文档与$in匹配