var node = document.getElementById("1").nextSibling;
while(node.nodeType != 1){
     node=node.nextSibling;
     if(!node) break;
}
if(node){
    alert(node.innerHTML);
}

解决方案 »

  1.   

    <span id="sp1">dddddddddd<span id="sp1_1">aaaa</span></span>
    <span id="sp2">ddddddddddddddddddd</span>
    <script>
    function $(sId){
        return document.getElementById(sId);
    }
    var oSpan1=$("sp1");
    var oSpan2=oSpan1.nextSibling;
    while(oSpan2.nextSibling){
        if(oSpan2.tagName&&oSpan2.tagName=="SPAN"){
            break;
        }else{
            oSpan2=oSpan2.nextSibling;
        }    
    }
    alert(oSpan2.id);
    </script>
      

  2.   

    function f(){
      var el=document.getElementById("1");
      var cns=el.parentNode.getElementByTagName("SPAN");
      var l=cns.length;
      for(var i=0;i<l;i++){
        if(cns[i]==el && l>i+1) return cns[i+1];
      }
      return null;
    }
      

  3.   

    上面的那个有个逻辑错误,因为有可能下一个span是最后一个节点,那样用上面的程序就区不到了
    <span id="sp1">dddddddddd<span id="sp1_1">aaaa</span></span>
    <span id="sp2">ddddddddddddddddddd</span>
    <script>
    function $(sId){
        return document.getElementById(sId);
    }
    var oSpan1=$("sp1");
    var oSpan2=oSpan1.nextSibling;
    while(oSpan2){
        if(oSpan2.tagName&&oSpan2.tagName=="SPAN"){
            break;
        }else{
            oSpan2=oSpan2.nextSibling;
        }    
    }
    alert(oSpan2.id);
    </script>
      

  4.   

    来晚了
    给你另一种
     var nlist = document.getElementByTagName("span");
     for(var i =0;i<nlist.length;i++)
    {
       if(你取名的规则 == nlist[i].id.tostring )
       {
          alert(nlist[i].id);
        }
    }随手写的,可能有点错
      

  5.   

    function f(){ 
      var el=document.getElementById("1"); 
      var cns=el.parentNode.children; 
      var l=cns.length; 
      var i=0,r=0;
      for(i=0;i <l;i++){ 
        if(cns[i].tagName!="SPAN") continue;
        if(cns[i]==el) r=i;
      } 
      if(i>r) return cns[i];
      return null; 
    }