0

我有一个脚本,我在其中循环遍历 xml.responseXML 并将 childNodes[0].nodeValue 放入表体中。除非 xml.responseXML 中没有结果,否则它工作得很好。

结果是关于观察的评论,有时可能没有评论。所以我想要的是如果没有评论不构建表体并且不抛出错误“无法获取未定义或空引用的属性'childNodes'。

我尝试将其放入 if 语句中,如果 childNodes = "" 然后不做任何其他事情来构建我的表格主体,但我没有任何运气。截至目前,每次打开没有评论的观察时,浏览器都会抛出错误,如果它有评论,那么它可以完美运行。任何建议或帮助将不胜感激,因为我被卡住了。

function viewComments(xml) {            
        var i;
        var xmlDoc = xml.responseXML;
        var tbody = "";
        var x = xmlDoc.getElementsByTagName("allComments");        

        for (i = 0; i < x.length; i++) {
            tbody += "<tr><td>" +
                x[i].getElementsByTagName("COMMENT")[0].childNodes[0].nodeValue +
                "</td><td>" +
                x[i].getElementsByTagName("DATE_COMMENT_UPDATED")[0].childNodes[0].nodeValue +
                "</td><td>" +
                x[i].getElementsByTagName("COMMENT_ADDED_BY")[0].childNodes[0].nodeValue +
                "</td ></tr >";
        }
        $("#COMMENTS tbody").html(tbody);
        $("#COMMENTS").trigger("update");
    }
</script>

 for (i = 0; i < x.length; i++) {
            var el = x[i].getElementsByTagName("COMMENT");
            if (el.length) {
                tbody += "<tr><td>" +
                    x[i].getElementsByTagName("COMMENT")[0].childNodes[0].nodeValue +
                    "</td><td>" +
                    x[i].getElementsByTagName("DATE_COMMENT_UPDATED")[0].childNodes[0].nodeValue +
                    "</td><td>" +
                    x[i].getElementsByTagName("COMMENT_ADDED_BY")[0].childNodes[0].nodeValue +
                    "</td ></tr >";
            }
        }
4

0 回答 0