function getNextElement(node)
{
if(node.nodeType == 1)
{
return node;
}
if(node.nextSibling)
{
return getNextElement(node.nextSibling);
}
return null;
}
下面是各个语句的解释:
function getNextElement(node)
//声明getNextElement函数,参数为node节点
{
if
(node.nodeType ==1)
{
return
node;
//如果node节点类型值与1相等为真,即node节点为元素节点,则退出此函数,并此函数取值为node。
}
//如果node节点类型值与1相等为假,则继续执行下面语句。
if
(node.nextSibling)
//如果node节点的下一个兄弟节点存在即条件为真,则退出此函数,并递归,参数变为node节点的下一个兄弟节点。
{
return
getNextElement(node.nextSibling);
//从一个函数的内部调用这个函数本身叫作递归调用。
}
//如果node节点的下一个兄弟节点不存在即条件为假,则继续执行下面语句。
return
null
;
//退出此函数,并此函数取值为null。
}