我有一个脚本,我在其中循环遍历 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 >";
}
}