无法使用Javascript删除DOM元素

无法使用Javascript删除DOM元素,javascript,dom,Javascript,Dom,我无法删除javascript中的hr元素。以下是我尝试过的: var hr = document.getElementsByTagName("hr"); hr.parentNode.removeChild(hr); 上面说 TypeError:无法调用未定义的方法“removeChild” 尽管第一行返回了一个[]。然后我检查了console.log(hr.parentNode),它说未定义 有谁能告诉我为什么会这样,为什么它不访问hr的parentNode,而不删除元素?这是因为getEl

我无法删除javascript中的
hr
元素。以下是我尝试过的:

var hr = document.getElementsByTagName("hr");
hr.parentNode.removeChild(hr);
上面说

TypeError:无法调用未定义的方法“removeChild”

尽管第一行返回了一个
[
]
。然后我检查了
console.log(hr.parentNode)
,它说未定义


有谁能告诉我为什么会这样,为什么它不访问
hr
parentNode
,而不删除元素?

这是因为
getElementsByTagName
返回一个
NodeList
,它是一个类似数组的对象,包含页面中的所有
hr
。您需要循环遍历它,就像一个数组来访问集合中的每一个

var hr = document.getElementsByTagName("hr");
for (var i = 0; i < hr.length; i++) {
  hr[i].parentNode.removeChild(hr);
}
var hr=document.getElementsByTagName(“hr”);
对于(变量i=0;i
您应该在以下示例中尝试此代码:

<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
    <title>Demo</title>
</head>
<body>
    <button onclick="removeElement()">RemoveElement</button>
    <hr />
    <script type="text/javascript" language="javascript">     

        function removeElement() {
            var hr = document.getElementsByTagName("hr");
            hr[0].parentNode.removeChild(hr[0]);
        }

    </script>
</body>
</html>

演示
去除

函数removeElement(){ var hr=document.getElementsByTagName(“hr”); hr[0].parentNode.removeChild(hr[0]); }
@Praveen不是一个选择。@PraveenKumar:为什么?没有必要。可能他打算建议
$(“hr”).remove()
@KamranAhmed She???这应该标记为重复。至少有10个Q具有相似的名称和对根本原因的解释。原始帖子包含一些错误。感谢您的编辑。我应该为此责备发明“复制粘贴”的人D