在页面中是这样的:
<a class="on" id="sa1">链接1</a>
<a class="off" id="sa2">链接2</a>
<a class="off" id="sa3">链接3</a>
<a class="off" id="sa4">链接4</a>
<a class="off" id="sa5">链接5</a>在javascript中我需要用到页面中处于选中状态on的链接的id值sa1然后把sa1中的sa去掉,得到数字1,用javascript怎么写

解决方案 »

  1.   

    window.onload=function(){
    var rt = document.getElementsByTagName('A');
    var aa = -1;
    for(var i=0;i<rt.length;i++){
    if(rt[i].className=="on"){
    aa = rt[i].id.replace(/\D/g,"");
    }
    }
    alert(aa);
    }
      

  2.   


    <a class="on" id="sa1">链接1 </a> 
    <a class="off" id="sa2">链接2 </a> 
    <a class="off" id="sa3">链接3 </a> 
    <a class="off" id="sa4">链接4 </a> 
    <a class="off" id="sa5">链接5 </a> 
    <script type="text/javascript">
    <!--
    (function(){
    var O = document.getElementsByTagName('a');
    for(var i = 0, len = O.length; i < len; i++){
    if(/(^|\\s)on(\\s|$)/.test(O[i].className)){
    alert(O[i].id.replace(/[^0-9]/g,''));
    }
    }
    })();
    //-->
    </script>
      

  3.   


    function getElementsByClassName(tag,tagClassName){
    //tag: 要查找的标签
    //tagClassName:标签的样式名
    var olist=document.getElementsByTagName(tag);
    var v;
    for(var i=0;i<olist.length;i++)
       {
        if(olist[i].className.toLowerCase()==tagClassName.toLowerCase()){
             v=olist[i].id.substr(olist[i].id.length-1,1)
             break;
             }
       }
    alert(v);
    }应用:
    getElementsByClassName("a","on")
      

  4.   

    晕,怎么能这么?多个class就查找不到了
    也贴一个吧var getByClass=function(cla,scope,tag) {
    scope=scope || document;
    if(scope.getElementsByClassName)//非IE中,使用原生的效率应该更高
    return scope.getElementsByClassName(cla);
    tag=tag || "*";
    var els=scope.getElementsByTagName(tag);
    var length=els.length;
    for(var i=0,res=[],l=0,cur;i<length;i++) {
    cur=els[i];
    if(typeof(cur.className)!=="undefined" && cur.className.search("\\b"+cla+"\\b") != -1) {
    res[l++]=cur;//使用索引来访问数组
    }
    }
    return res;
    }
      

  5.   


    /(^|\s)on(\s|$)/g.test(O[i].className // 靠把我3楼的\\s换成 \s 笔误了