我正在使用此JavaScript代码从页面中删除一些元素,但它无效。当我用Opera Dragonfly检查代码时,它会说:
Uncaught exception: Error: WRONG_ARGUMENTS_ERR
并指向文件和函数名称。
奇怪的是,我在同一页面上的另一个函数中使用完全相同的代码,它可以正常工作。代码非常小而且简单:
var docBody = document.getElementById("body");
if(document.getElementById("marginDiv")){
docBody.removeChild("marginDiv");
}
页面上存在body
和marginDiv
。我的目标是在单击背景时使缩略图消失。
答案 0 :(得分:7)
您正在尝试删除字符串。字符串几乎不是HTML元素。您还依赖marginDiv
成为body
的直接孩子,情况可能并非如此。
相反,试试这个:
var remove = document.getElementById('marginDiv');
if( remove) remove.parentNode.removeChild(remove);
答案 1 :(得分:2)
尝试
docBody.removeChild(document.getElementById("marginDiv"));
答案 2 :(得分:1)
removeChild
需要对DOM元素的引用,而不是字符串。试试这个:
var docBody = document.getElementById("body");
var marginDiv = document.getElementById("marginDiv");
if(marginDiv)){
docBody.removeChild(marginDiv);
}