Javascript 删除<;tr>;其id包含特定的符号

Javascript 删除<;tr>;其id包含特定的符号,javascript,html,Javascript,Html,我在JSP页面中清除了一个。使用JavaScript,我想删除所有id包含的 例如: <tr id=";1234;"> ... ... </tr> ... ... 必须删除整行。有人能给我小费吗? document.querySelectorAll('tr[id*=”;“]').forEach(node=>node.remove()) 把我带走 留着我 document.querySelectorAll('tr[id*=”;“]').forEach(

我在JSP页面中清除了一个
。使用JavaScript,我想删除所有
id包含

例如:

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

...
...
必须删除整行。有人能给我小费吗?


document.querySelectorAll('tr[id*=”;“]').forEach(node=>node.remove())

把我带走
留着我

document.querySelectorAll('tr[id*=”;“]').forEach(node=>node.remove())

把我带走
留着我

您可以通过编程方式删除id为
且包含
的所有
元素执行以下代码段:

Array.from(document.querySelectorAll('tr[id*=”;“]')).forEach(tr=>{
删除
})
以下连结供参考:


您可以通过编程方式删除所有
id为
且包含
元素执行以下代码段:

Array.from(document.querySelectorAll('tr[id*=”;“]')).forEach(tr=>{
删除
})
以下连结供参考:


最简单的方法如下所示,并且是跨浏览器(非ECMA6)兼容的


福
哞
和Javascript

var myElements = document.querySelectorAll('tr[id*=";"]');

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

p、 为了便于阅读,您应该使用上述方法之一。如果你必须迭代一个大的结果集,那么考虑循环的执行速度更快。

< P>最简单的方法如下:并且是跨浏览器(非ECMA6)兼容的。


福
哞
和Javascript

var myElements = document.querySelectorAll('tr[id*=";"]');

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


p、 为了便于阅读,您应该使用上述方法之一。如果你必须迭代一个大的结果集,那么考虑循环的执行速度更快。

这些是无效的ID属性,我怀疑大多数浏览器会用<代码>解析它们;首先,代码>字符。到目前为止,您的代码如何解决您的问题?
document.queryselectoral(“[id*=”;“]”)
您的id无效@Maggini好吧,它们在中是有效的,因为它们不包含空格,但是如果你说的是HTML4的向后兼容性,那么当然……这些是无效的id属性,我怀疑大多数浏览器会用
解析它们字符。到目前为止,您的代码如何解决您的问题?
document.queryselectoral(“[id*=”;“]”)
您的id无效@E.Maggini好吧,它们在中是有效的,因为它们不包含空格,但是如果你谈论的是HTML4的向后兼容性,那么当然……注意,
.forEach()
可以链接到
.queryselectoral()
这是特定于ECMA6的,不是吗?@E.Maggini,但只有IE不支持它,为此你可以使用一个.Note,
.forEach()
可以链接到
.querySelectorAll()
这是ECMA6特有的,不是吗?@E.Maggini,但只有IE不支持它,为此,您可以使用。
myElements[xx].parentNode.removeChild(myElements[xx])
更好。@Xufox您能解释一下为什么吗?您的请求需要调用父节点,然后是函数调用。我的请求会直接清除所需的HTML块。设置
innerHTML
outerHTML
不仅仅是一个简单的字符串操作或属性访问。在这之后会发生大量DOM重设可能比简单的DOM节点删除要慢。还有一个可能的问题。您也可以使用
myElements[xx].remove()
,但您刚才谈论的是跨浏览器兼容性。
outerHTML
实际上也有其自身的兼容性问题,
remove
removeChild
是一种更直观的方法,可以在这里执行操作。感谢您的澄清:)
myElements[xx].parentNode.removeChild(myElements[xx])更好。@Xufox您能解释一下原因吗?您的需要调用父节点,然后是函数调用。Mine直接擦除所需的HTML块。设置
innerHTML
outerHTML
不仅仅是一个简单的字符串操作或属性访问。在这之后,会发生大量的DOM重分类,这可能比简单的DOM节点删除要慢。还有一个可能存在的问题是。您也可以使用myElements[xx].remove()
,但您所说的是跨浏览器兼容性
outerHTML
实际上有其自身的兼容性问题,
remove
removeChild
是一种更直观的方法。感谢您的澄清:)