Javascript 删除<;tr>;其id包含特定的符号
我在JSP页面中清除了一个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(
。使用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
是一种更直观的方法。感谢您的澄清:)