NOT_FOUND_ERR:DOM例外8 - javascript

时间:2013-02-12 21:28:23

标签: javascript exception dom insertion

我的代码:

function SubmitCommentAJAX(i)
{
    var thecomment = i.parentNode.getElementsByClassName("styled")[0].innerHTML; 
    var commentBox = document.body.getElementsByClassName("commentsScroll")[0];
    var request = "http://localhost:8080/ituned.com/index?Event=Comment&PostTitle=<%=p.getTitle()%>&PostOwner=<%=p.getUsername_of_Owner()%>&comment="+thecomment;

    xmlhttp.open("POST",request,true);
    xmlhttp.send();
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {            
            var response=xmlhttp.responseXML.getElementsByTagName("theComment")[0].text;
            **commentBox.insertBefore(response, commentBox.firstChild);**
        }
    };
}

HTML:                       

<div class="commentsScroll" align="left"> 
    <div></div>             
    </div> 
</div>

我收到错误:NOT_FOUND_ERR:行 commentBox.insertBefore(response, commentBox.firstChild);

的DOM异常8

但是commentBox定义得很好,因为当我用alert(commentBox)检查时,它会向我显示对象。

错误是什么?

1 个答案:

答案 0 :(得分:1)

insertBefore接受一个dom节点,因此您必须将文本转换为文本节点

var response=xmlhttp.responseXML.getElementsByTagName("theComment")[0].textContent;
commentBox.insertBefore(document.createTextNode(response), commentBox.firstChild);