2011-09-29 26 views
6

Vì vậy, tôi đang xóa tất cả nội dung trong một div cụ thể và thêm nội dung thư. Tuy nhiên, javascript ném các lỗi sau đây sau khi kết thúc:lỗi không đọc NOT_FOUND_ERR DOM Ngoại lệ 8

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 

Đây là mã mà nó được thực hiện

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 

}); 

dân nhận xét rằng vấn đề là với cách tôi giao divMessage-reviewSheet. Tôi đã thử cả hai adoptappendChild nhưng không có tác dụng nào. Một chút trợ giúp sẽ được đánh giá cao.

+1

Đây có phải là MooTools không? – epascarello

+0

_ $ ("reviewSheet") _ Nó là gì? Bạn sử dụng các khuôn khổ javascript, hoặc nó là một bí danh cho 'document.getElementById()'? Nếu bạn cần xóa tất cả các nút khỏi phần tử (phần tử trống), chỉ cần sử dụng 'element.innerHTML = '';' –

+0

Hoặc thay vì 'element.innerHTML = ''' sử dụng mã: 'while (someParentElement.firstChild) someParentElement.removeChild (someParentElement.firstChild); ' –

Trả lời

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

nên

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

Cảm ơn nhưng điều đó không hiệu quả. Tôi đã thử nhưng nó vẫn hiển thị như nhau. Tôi không nghĩ rằng đó là một vấn đề CSS. –

1

Là vấn đề mà bạn đang gọi hasChildNodes phương pháp() trên một đối tượng jQuery? Tôi không chắc chắn những gì $ ("reviewSheet") là nghĩa vụ phải được, nhưng gói một chuỗi trong $() làm cho nó một đối tượng jQuery mà tôi không tin rằng sẽ làm việc với các phương pháp javascript thường xuyên. Nếu "reviewSheet" là id của một phần tử, bạn có thể làm điều gì đó như

node = document.getElementById('reviewSheet'); 

thì bạn có thể tham gia vào vòng lặp while.

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

Bạn cũng cần đặt dấu ngoặc đơn sau khi cóChildNodes() để trả về giá trị boolean.

Các vấn đề liên quan