var str = "";
function listNode(node,level)
{
printInfo(node,level);
level++;
var nodes = node.childNodes;
for(var x=0; x<nodes.length; x++)
{
if(nodes[x].hasChildNodes())
listNode(nodes[x],level);
else
printInfo(nodes[x],level);
}
}
function getSpace(level)
{
//alert(level);
var s = "";
for(var x=0;x <level; x++)
{
s += "|----";
}
return s;
}
function printInfo(node,level)
{
str +=getSpace(level)+"name:"+node.nodeName+".....type:"+node.nodeType+"....value:"+node.nodeValue+"<br/>";
}
function getNodes()
{
listNode(document,0)
document.write(str);
}
第一个listNode()函数的for循环里的x不var定义一下就不循环了?function getSpace()里的x为什么不var定义一下可以循环。
function listNode(node,level)
{
printInfo(node,level);
level++;
var nodes = node.childNodes;
for(var x=0; x<nodes.length; x++)
{
if(nodes[x].hasChildNodes())
listNode(nodes[x],level);
else
printInfo(nodes[x],level);
}
}
function getSpace(level)
{
//alert(level);
var s = "";
for(var x=0;x <level; x++)
{
s += "|----";
}
return s;
}
function printInfo(node,level)
{
str +=getSpace(level)+"name:"+node.nodeName+".....type:"+node.nodeType+"....value:"+node.nodeValue+"<br/>";
}
function getNodes()
{
listNode(document,0)
document.write(str);
}
第一个listNode()函数的for循环里的x不var定义一下就不循环了?function getSpace()里的x为什么不var定义一下可以循环。
先看看这个代码有没有错误
function listNode(node,level)
{
printInfo(node,level);
level++;
var nodes = node.childNodes;
for(var x=0; x<nodes.length; x++)//nodes.length长度多少,可能是0导致没有循环
{
if(nodes[x].hasChildNodes())
listNode(nodes[x],level);
else
printInfo(nodes[x],level);
alert(i);//看看是否循环了
}
}