删除<tr>其 ID 包含特定符号的内容



我在我的JSP页面内声明了<table>。使用JavaScript,我想删除所有id包含;<tr>S。

例如:

<tr id=";1234;">
   ...
   ...
</tr>

必须删除整个行。有人可以给我提示?

document.querySelectorAll('tr[id*=";"]').forEach(node => node.remove());
<table>
  <tr id=";1234;">
    <td>Remove Me</td>
  </tr>
  <tr>
    <td>Keep Me</td>
  </tr>
</table>

您可以通过执行以下片段来编程用包含;id删除所有<tr>元素:

Array.from(document.querySelectorAll('tr[id*=";"]')).forEach(tr => {
  tr.remove()
})

以下链接以供参考:

  • document.querySelectorAll()
  • 属性选择器
  • Array.from()
  • Array#forEach()
  • ChildNode#remove()

最简单的方法是如下,并且跨浏览器(non-ecma6)兼容。

https://jsfiddle.net/dfju8xn8/1/

<table>
<tr id=";1234;">
<td>foo</td>
</tr>
<tr id="yadayada">
<td>moo</td>
</tr>
</table>

和javascript

var myElements = document.querySelectorAll('tr[id*=";"]');
for (var xx = 0; xx < myElements.length; xx++) {
   myElements[xx].outerHTML ='';
}

P.S。为了可读性,您应该使用上面的一种方法。如果您必须在大型结果集上迭代,请考虑将循环测试为执行速度更快。

最新更新