在javascript中更改变量值时未发现节点错误


Node was not found error in javascript on changing the variable value

我正在使用以下javascript代码(简化版)从我的dropdownlist中删除子元素。

overmenu="Advies_opgevolgdmenu";
var parentobj = document.getElementById('body');
var childobj =  document.getElementById(overmenu);
parentobj.removeChild(childobj);

Html代码:

$type="Advies_opgevolgdmenu";
<body id="body">
<ul id="<?php echo $type ?>" class="mcdropdown_menu" style="z-index: 997 !important">
</body>

以前,当overmenu="Adviesogevolgdmenu"时,它工作得很好,但当我在overmenu变量之间插入下划线时,开始出现以下错误:

在firefox:

未找到节点[在此错误上中断]
parentobj.removeChild(childobj)

铬:

未捕获错误:NotFoundError:DOM异常8

我做错了什么?造成这个错误的常见原因是什么?

提前感谢

试试这个:

  var overmenu="Advies_opgevolgdmenu";
  var childobj =  document.getElementById(overmenu);
  childobj.parentNode.removeChild(childobj);

是否可能没有ID为"body"的元素?

我注意到您正在使用此代码来获取(我想)文档的正文:

var parentobj = document.getElementById('body');

你可能想要更像的东西

var parentobj = document.getElementsByTagName("body")[0]

它将选择页面上的所有元素并返回结果数组的第一个元素。