3

我正在尝试删除隐藏元素。我尝试了以下代码,但它总是将父级返回为未定义。

尝试一

var timeLeft = document.getElementById("time");
timeLeft.document.removeChild(timeLeft);

尝试两次

var timeLeftBody, timeLeft;
timeLeftBody = document.getElementsByTagName("body")[0];
timeLeft = document.getElementById("time");
timeLeft.timeLeftBody.removeChild(timeLeft);
4

2 回答 2

11

removeChild()仅适用于直接包含子元素的元素——除非文档直接包含该元素(这是不可能的,除非是节点) ,否则document.removeChild(hdr)将不起作用。timetimehtml

尝试:

var timeLeft = document.getElementById("time");
timeLeft.parentNode.removeChild(timeLeft);
于 2012-07-11T00:39:50.593 回答
0

改变这个:

timeLeft.timeLeftBody.removeChild(timeLeft);

...对此:

timeLeftBody.removeChild(timeLeft);

基本上,你是在不必要地把东西链接在一起。您要遵循以下基本格式:

var parent = document.getElementById('idOfParentNode');
var child = document.getElementById('idOfNodeToRemoveFromParent');
parent.removeChild(child);
于 2012-07-11T00:38:28.700 回答