// 兼容火狐获取一个节点的相同类型的上一个相邻节点
function perviousSiblingSameType(node , cnode )
{
// 为空直接返回null
if(node.previousSibling == null )
{
return null ;
}
else
{
// 节点类型不相等继续递归
if(node.previousSibling.nodeType != cnode.nodeType)
{
return perviousSiblingSameType(node.previousSibling , cnode);
}
// 节点类型相等则返回
else if(cnode.nodeType == node.previousSibling.nodeType)
{
return node.previousSibling ;
}
}
}
// 兼容火狐获取一个节点的相同类型的下一个相邻节点
function nextSiblingSameType(node , cnode)
{
// 为空直接返回null
if(node.nextSibling == null )
{
return null ;
}
else
{
// 节点类型不相等继续递归
if(node.nextSibling.nodeType != cnode.nodeType)
{
return nextSiblingSameType(node.nextSibling , cnode);
}
// 节点类型相等则返回
else if(cnode.nodeType == node.nextSibling.nodeType)
{
return node.nextSibling ;
}
}
}