6

そのため、特定の 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

 });

人々は、問題は私が に割り当てた方法にあるとコメントしましdivMessagereviewSheetadopt私は両方を試しましappendChildたが、どれもうまくいきません。少し助けていただければ幸いです。

4

2 に答える 2

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

する必要があります

divMessage.style.color="rgb(105,105,105)";
于 2011-09-29T04:52:42.633 に答える
1

jQuery オブジェクトで hasChildNodes() メソッドを呼び出していることが問題ですか? $("reviewSheet") がどうあるべきかはわかりませんが、 $() で文字列をラップすると、通常の JavaScript メソッドでは機能しないと思われる jQuery オブジェクトになります。「reviewSheet」が要素のIDである場合、次のようなことができます

node = document.getElementById('reviewSheet');

その後、 while ループに入ることができます。

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

また、ブール値を返すには、 hasChildNodes() の後に括弧を付ける必要があります。

于 2012-03-11T22:34:35.293 に答える