Как остановить получение ошибки "Невозможно получить свойство childNodes с неопределенной или нулевой ссылкой?
У меня есть скрипт, где я перебираю 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 >";
}
}