Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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中从HTML表中删除行_Javascript_Jquery_Html - Fatal编程技术网

在javascript中从HTML表中删除行

在javascript中从HTML表中删除行,javascript,jquery,html,Javascript,Jquery,Html,我有管理HTML表的javascript代码。代码需要能够从HTML表中删除一行 我当前正在使用以下代码删除该行: var rowToDelete = ...; if (rowToDelete) rowToDelete.remove(); 这在Firefox和Chrome中运行良好,但是,当我在IE11中加载页面并启动javascript调试器时,它会显示 对象不支持属性或方法“删除” 我还没有在IE的早期版本中尝试过这段代码 如何以跨浏览器的方式执行此操作?我的页面确实包含jQue

我有管理HTML表的javascript代码。代码需要能够从HTML表中删除一行

我当前正在使用以下代码删除该行:

var rowToDelete = ...;

if (rowToDelete)
    rowToDelete.remove();
这在Firefox和Chrome中运行良好,但是,当我在IE11中加载页面并启动javascript调试器时,它会显示

对象不支持属性或方法“删除”

我还没有在IE的早期版本中尝试过这段代码


如何以跨浏览器的方式执行此操作?我的页面确实包含jQuery,因此我可以使用jQuery方法。

确保您的rowToDelete是一个jQuery对象,如下所示:

var rowToDelete = $('tr');
rowToDelete.remove();

确保rowToDelete是jQuery对象,如下所示:

var rowToDelete = $('tr');
rowToDelete.remove();

Chrome支持元素上的
.remove()

你应该做:

rowToDelete.parentNode.removeChild(rowToDelete);
如果您想在IE中使用此功能,可以将此功能添加到HtmleElement原型中

HTMLElement.prototype.remove = function (){
    this.parentNode.removeChild(this);
}

Chrome支持元素上的
.remove()

你应该做:

rowToDelete.parentNode.removeChild(rowToDelete);
如果您想在IE中使用此功能,可以将此功能添加到HtmleElement原型中

HTMLElement.prototype.remove = function (){
    this.parentNode.removeChild(this);
}

如果它是dom元素,则可以执行以下操作

$(rowToDelete).remove();

如果它是dom元素,则可以执行以下操作

$(rowToDelete).remove();


什么是
行删除
?它是dom元素还是jQuery包装对象是jQuery对象还是节点?在
var rowtodelet=请显示完整的代码。它是一个节点元素。Chrome支持元素上的
.remove()
。他应该执行
rowtodelet.parentNode.removeChild(rowtodelet)什么是
行删除
?它是dom元素还是jQuery包装对象是jQuery对象还是节点?在
var rowtodelet=请显示完整的代码。它是一个节点元素。Chrome支持元素上的
.remove()
。他应该执行
rowtodelet.parentNode.removeChild(rowtodelet)对不起,一开始我不明白+1为此,有趣的是,FF似乎不像Chrome那样返回已删除的元素。我很确定规范要求这样。我得回去检查一下……看起来
未定义的
是正确的结果。我想这是有道理的,因为你已经有了节点。对不起,我一开始不明白+1为此,有趣的是,FF似乎不像Chrome那样返回已删除的元素。我很确定规范要求这样。我得回去检查一下……看起来
未定义的
是正确的结果。我想这是有道理的,因为您已经拥有了node.rowtodelet是一个DOM元素,但是我确实可以轻松访问同一DOM元素的jQuery对象,而无需再次调用jQuery来获取一个对象。这很有效。Rowtodelet是一个DOM元素,但是我确实可以轻松访问同一个DOM元素的jQuery对象,而无需再次调用jQuery来获取对象。这很有效。谢谢