var $ = function(id){return document.getElementById(id)}  我知道这是获取ID的.
但class的要怎么写的?比如:$(".box");
跟jq的一样.但jq库里的我看不懂

解决方案 »

  1.   

    document.getElementsByClassName返回为数组
      

  2.   


    lz请试试下面的代码,简单测试了下firefox,chrome,ie9
    <html>
    <head>
    <script>
    function test(){ var btn = document.getElementById('btn1');
    var classs = btn.getAttribute('className')||btn.getAttribute('class');
    alert(classs);
    }
    </script>
    </head><body>
    <input id='btn1' type='button' value='Button' class='lefts' onclick='test()' />
    </body></html>
      

  3.   

    lz请试试下面的代码,简单测试了下firefox,chrome,ie9,不好意思,上面格式发错了.
    <html>
    <head>
    <script>
    function test(){    var btn = document.getElementById('btn1');
        var classs = btn.getAttribute('className')||btn.getAttribute('class');
        alert(classs);
    }
    </script>
    </head><body>
    <input id='btn1' type='button' value='Button' class='lefts' onclick='test()' />
    </body></html>
      

  4.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head><body>
    <div></div>
    <div class="abcdefg ass"></div>
    <div class="aaa"></div>
    <div class="aaa"></div>
    <div class="abcdefg"></div>
    <div class="aaa"></div>
    <div class="abcdefg"></div>
    <div class="aaa"></div>
    <script>
    var $$ = function(strCls){
    var temp = document.getElementsByTagName('*');
    var result = [];
    for(var i=0,j=temp.length,cls;i<j;i++){
    cls = temp[i].className.split(/\s+/);
    for(var k=0,l=cls.length;k<l;k++){
    if(cls[k]===strCls){
    result.push(temp);
    break;
    }
    }
    }
    return result;
    }
    alert($$('abcdefg').length);
    alert($$('ass').length);
    </script>
    </body>
    </html>
      

  5.   

    JS没有直接的document.getElementsByClassName,一般都是用下面的方法来自定义一个这样的函数:var getElementsByClassName = function(strClassName){
        var temp = document.getElementsByTagName('*');
        var result = [];
        for(var i=0,j=temp.length,cls;i<j;i++){
            cls = temp[i].className.split(/\s+/);
            for(var k=0,l=cls.length;k<l;k++){
                if(cls[k]===strClassName){
                    result.push(temp);
                    break;
                }
            }
        }
        return result;
    }复制过去,使用时只要 var 结果集=getElementsByClassName('CLASS样式名称'); 即可。结果集是一个数组。
      

  6.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head><body>
    <div></div>
    <div class="abcdefg ass"></div>
    <div class="aaa"></div>
    <div class="aaa"></div>
    <div class="abcdefg"></div>
    <div class="aaa"></div>
    <div class="abcdefg"></div>
    <div class="aaa"></div>
    <script>
    var $$ = function(strCls){
    var temp = document.getElementsByTagName('*');
    var result = [];
    for(var i=0,j=temp.length,cls;i<j;i++){
    cls = temp[i].className.split(/\s+/);
    for(var k=0,l=cls.length;k<l;k++){
    if(cls[k]===strCls){
    result.push(temp[i]);
    break;
    }
    }
    }
    return result;
    }
    alert($$('abcdefg').length);
    alert($$('ass').length);
    </script>
    </body>
    </html>
    之前的代码少个[i]。
    这段代码比较简单了。
    如果这个都觉得复杂的话,楼主可能不适合做开发。