復制代碼 代碼如下:
// 兼容火狐獲取一個節點的相同類型的上一個相鄰節點
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 ;
}
}
}