Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中按属性删除对象_Javascript_Attributes - Fatal编程技术网

在javascript中按属性删除对象

在javascript中按属性删除对象,javascript,attributes,Javascript,Attributes,我在同一页上有几个不同的表,但不幸的是,它们没有分配任何唯一的id。我想使用JS命令删除一个表,但由于不能使用id,是否可以根据表的某个属性删除表?例如,是否有命令删除页面上具有以下属性的所有表:width=“25%”?您可以使用querySelectorAll来执行此操作 var x = document.querySelectorAll("table[width='25%']"); for (var i=0; i<x.length; i++) { //returns array of

我在同一页上有几个不同的表,但不幸的是,它们没有分配任何唯一的id。我想使用JS命令删除一个表,但由于不能使用id,是否可以根据表的某个属性删除表?例如,是否有命令删除页面上具有以下属性的所有表:width=“25%”?

您可以使用
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
}
var x=document.querySelectorAll(“表[width='25%]”);

对于(var i=0;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
}
var x=document.querySelectorAll(“表[width='25%]”);

对于(var i=0;i是的,您可以。最简单的方法是使用JQuery。 在javascript代码中,您只需编写:

$("[attribute=value]").remove()

因此,在您的例子中,它可能类似于
$(“table[width='25%]”)。remove()

可以。最简单的方法是使用JQuery。 在javascript代码中,您只需编写:

$("[attribute=value]").remove()

因此,在您的例子中,它可能类似于
$(“table[width='25%]”)。remove()

我知道这已经有了一些解决方案,但我将提供另一种选择

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]);
    }
}
var tables=document.getElementsByTagName('table');
对于(变量i=0;i

演示。

我知道这已经有了一些解决方案,但我将提供另一种选择

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]);
    }
}
var tables=document.getElementsByTagName('table');
对于(变量i=0;i

演示在。

绝对有效,但他没有要求jQuery答案。同意。只是想帮上忙。绝对有效,但他没有要求jQuery答案。同意。只是想帮上忙。谢谢,我最后不得不使用这个,因为在我的例子中,我是通过一个显然不支持的android webview运行JS命令的谢谢,我最终不得不使用这个,因为在我的例子中,我是通过一个显然不支持querySelectorAll的android webview运行JS命令的。