FF火狐下获取一个元素同类型的相邻元素实现代码

复制代码 代码如下:

  // 兼容火狐获取一个节点的相同类型的上一个相邻节点

  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 ;

  }

  }

  }