未捕获的错误NOT_FOUND_ERR DOM异常8

时间:2011-09-29 04:49:37

标签: javascript exception appendchild

所以我删除特定div下的所有内容并添加消息内容。但是,javascript在完成后抛出以下错误:

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8

以下是执行该代码的代码

 new Ajax.Request("profileThis.php",
 {
   method:'post',

   parameters:{title:title, review:review, userId:userId, category:category, categoryId:categoryId},

   onSuccess:function(ajax) 
   {
    alert(ajax.responseText); // this is just for debugging purposes

    var message=ajax.responseText;

    var divMessage=document.createElement("div");

    divMessage.style.color="rgb:(105,105,105)";

    divMessage.innerHTML=message;

    while($("reviewSheet").hasChildNodes)
    {
     $("reviewSheet").removeChild($("reviewSheet").lastChild);
    }

    $("reviewSheet").adopt(divMessage);         

   },

   onFailure:ajaxFailure,

   onException:ajaxFailure

 });

人们评论说,问题在于我如何将divMessage分配给reviewSheet。我尝试了adoptappendChild但都没有效果。  一点帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

divMessage.style.color="rgb:(105,105,105)";

应该是

divMessage.style.color="rgb(105,105,105)";

答案 1 :(得分:1)

您在jQuery对象上调用方法hasChildNodes()的问题是什么?我不确定$(“reviewSheet”)应该是什么,但是在$()中包装一个字符串会使它成为一个jQuery对象,我认为它不适用于常规的javascript方法。如果“reviewSheet”是元素的id,则可以执行类似

的操作
node = document.getElementById('reviewSheet');

然后你可以进入你的while循环。

while (node.hasChildNodes()) {
 //the rest of your code here
}

哦,你还需要在hasChildNodes()后面加上括号来返回一个布尔值。