<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>
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; }
上面的那个有个逻辑错误,因为有可能下一个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>
来晚了 给你另一种 var nlist = document.getElementByTagName("span"); for(var i =0;i<nlist.length;i++) { if(你取名的规则 == nlist[i].id.tostring ) { alert(nlist[i].id); } }随手写的,可能有点错
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; }
<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>
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;
}
<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>
给你另一种
var nlist = document.getElementByTagName("span");
for(var i =0;i<nlist.length;i++)
{
if(你取名的规则 == nlist[i].id.tostring )
{
alert(nlist[i].id);
}
}随手写的,可能有点错
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;
}