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