function AlterNodeN(node,v)
{
var index = node.getNodeIndex();
if(node.getAttribute( "firstchildtext ").indexOf(Form5.T1.value) > -1 && index != v)
{
return node;
}
var nds = node.getChildren();
var r;
for(var i = 0; i < nds.length; ++i)
{
r = AlterNodeN(nds[i],v);
if(r != null)
return r;
}
return null;
}
我想把上面递归查询的所有植放到一个数组里面,应该怎么半?或者让他返回一个值后,怎么样才能控制其继续往下执行,得到第二个值.
------解决方案--------------------
//定义全局数组
var DataArray = new Array();
function AlterNodeN(node,v)
{
var index = node.getNodeIndex();
if(node.getAttribute( "firstchildtext ").indexOf(Form5.T1.value) > -1 && index != v)
{
DataArray[DataArray.length] = node;
return node;
}
var nds = node.getChildren();
var r;
for(var i = 0; i < nds.length; ++i)
{
r = AlterNodeN(nds[i],v);
if (r) {
DataArray[DataArray.length] = node;
return r;
}
}
return null;
}