我在同一页面上有几个不同的表,但不幸的是他们没有分配任何唯一的ID。我想使用JS命令删除表,但由于id无法使用,是否可以根据它具有的某个属性删除表?例如,是否有命令删除页面上具有以下属性的所有表格:width =“25%”?在javascript中通过属性删除对象
回答
我知道这已经有一些解决方案,但我会提供多一个选择。
var tables = document.getElementsByTagName('table');
for(var i = 0; i < tables.length; i++){
if(tables[i].getAttribute('width') == "25%"){
tables[i].parentNode.removeChild(tables[i]);
}
}
您可以使用querySelectorAll
来做到这一点。
var x = document.querySelectorAll("table[width='25%']");
for (var i=0; i<x.length; i++) { //returns array of elements that match the attribute selector
x[i].remove(); //call prototype method defined below
}
删除是棘手的,我发现这个代码,使一个很好的删除方法
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
if(this[i] && this[i].parentElement) {
this[i].parentElement.removeChild(this[i]);
}
}
}
这将创建一个迭代的节点,并删除该儿童的原型remove()
功能。
请注意,querySelectorAll
不会在IE8或以下工作,但原型法的海报说,应该在IE8的工作,但不是7
工作很好,谢谢:) – Noob
当然可以。最简单的方法是使用JQuery。 在JavaScript代码中,你会这样写:
$("[attribute=value]").remove()
所以你的情况可能是这样的$("table[width='25%']").remove()
绝对有效,但他没有要求jQuery的答案。 – SomeKittens
同意。只是试图帮助。 –
- 1. 从Javascript对象中删除属性
- 2. 删除对象的属性,仍然通过该对象
- 3. 删除JavaScript对象属性,如
- 4. JavaScript:检测对象属性删除
- 5. 如何通过属性值从数组中删除对象?
- 6. 通过脚本从对象中删除属性#
- 7. 的Javascript组通过对象属性
- 8. 如何通过属性删除对象列表中的多个对象
- 9. 在python中通过属性删除对象列表中的重复项
- 10. 通过对象的属性
- 11. 通过对象的属性
- 12. 删除Realm对象中的属性
- 13. 从对象中删除属性recursivly
- 14. PHP:从DOMNode对象中删除属性
- 15. 如何从对象中删除属性?
- 16. 如何从对象中删除属性?
- 17. 在JavaScript中删除对象
- 18. 通过对象属性对对象的javascript数组排序
- 19. 通过属性传递属性/对象。 Javascript
- 20. 通过对象属性提取对象
- 21. 如何从JavaScript中的File-API对象中删除属性?
- 22. 通过Chrome控制台在Javascript中更改对象属性
- 23. 当通过对象数组迭代时,Javascript对象属性'null'
- 24. 通过Javascript中的多个属性对对象数组排序
- 25. JavaScript/Prototype.js:从JSON对象中删除属性
- 26. 从javascript对象数组中删除一些属性
- 27. 从javascript对象中删除冗余属性
- 28. 删除阵列中的特定对象内的JavaScript属性
- 29. Javascript删除数组/对象中的递归属性
- 30. 使用变量属性值从javascript数组中删除对象
+1一个很好的选择 –
谢谢,我最终不得不使用它,因为在我的情况下,我通过一个android webview显然不支持querySelectorAll运行JS命令。 – Noob