Ошибка uncaught NOT_FOUND_ERR DOM Exception 8

Поэтому я удаляю все содержимое определенного раздела и добавляю содержимое сообщения. Тем не менее, 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, Я пробовал оба adopt а также appendChild но никто не работает. Небольшая помощь будет оценена.

2 ответа

Решение
divMessage.style.color="rgb:(105,105,105)";

должно быть

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

Проблема в том, что вы вызываете метод hasChildNodes() для объекта jQuery? Я не уверен, каким должен быть $("reviewSheet"), но перенос строки в $() делает его объектом jQuery, который, как я полагаю, не будет работать с обычными методами javascript. Если "reviewSheet" является идентификатором элемента, вы можете сделать что-то вроде

node = document.getElementById('reviewSheet');

тогда вы можете войти в свой цикл while.

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

Кроме того, вам нужно поставить скобки после hasChildNodes(), чтобы вернуть логическое значение.

Другие вопросы по тегам