我在我的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。为了可读性,您应该使用上面的一种方法。如果您必须在大型结果集上迭代,请考虑将循环测试为执行速度更快。