Javascript 当没有数据时,document.write停止工作

Javascript 当没有数据时,document.write停止工作,javascript,html,xml,dom,Javascript,Html,Xml,Dom,当它没有价值时,它停止工作。 这是一个for循环: document.write(x[i].getElementsByTagName("property")[0].childNodes[0].nodeValue); var x=xmlDoc.getElementsByTagName(“对象”); 对于(i=0;i试试这个: var x=xmlDoc.getElementsByTagName("object"); for (i=0;i<x.length;i++) { docume

当它没有价值时,它停止工作。 这是一个for循环:

document.write(x[i].getElementsByTagName("property")[0].childNodes[0].nodeValue);
var x=xmlDoc.getElementsByTagName(“对象”); 对于(i=0;i试试这个:

var x=xmlDoc.getElementsByTagName("object");
for (i=0;i<x.length;i++)
  { 
  document.write("<table border='1'>");
  document.write("<tr><td>Last Communication</td><td>");
  document.write(x[i].getElementsByTagName("property")[0].childNodes[0].nodeValue);
var x=xmlDoc.getElementsByTagName(“对象”); 对于(i=0;i=0){ if(itemElements[0].childNodes.length>0){ document.write(itemElements[0].childNodes[0].nodeValue | |“”); } } } //... }
x[i].getElementsByTagName(“属性”)[0].childNodes[0].nodeValue的值在写入之前检查(i=0;我不使用
document。像这样写
。最好不要使用
document。写
。如果你不知道自己在做什么,它有许多难以避免的问题。在任何情况下,都要写完整的元素(从开始到结束标记)一次,将所有内容放在一个字符串中并使用
文档。在末尾写一次
。每次按索引使用项目数组(
数组[0]
)检查
array.length>0
,就像RoToRa在问题的评论中所写的那样。如果可能的话,不要在循环中使用DOM对象。更好的方法是为(var i=0;ivar html='';
并为其包含html内容.propertyName+“…”;
循环和连接后,通过
document.write(html);
element.innerHtml=html;
我尝试过,使用它有很多选项,但都不起作用,实际上我需要做的是写“某物”在if语句中,如果节点完全不包含任何内容,则可以使用check
if(node!==undefined&&node.propertyName!==undefined)
var x=xmlDoc.getElementsByTagName("object");
for (i=0;i<x.length;i++) {
    document.write("<table border='1'>");
    document.write("<tr><td>Last Communication</td><td>");
    var item = x[i];
    if(item !== undefined) {
        var itemElements = item.getElementsByTagName("property");
        if(itemElements.length > 0) {
            if(itemElements[0].childNodes.length > 0) {
                document.write(itemElements[0].childNodes[0].nodeValue || '');
            }
        }
    }
  //...
}