本帖最后由 mingfish 于 2009-11-23 14:57:10 编辑

解决方案 »

  1.   

    你的页面中没.test 所以$(".test")返回空,你取what[0].className就会报错了,要在这之前判断
      

  2.   

    你根本就没有test这个className.
      

  3.   

    怎么没有test啊,明明就有
    <div class="test li_h24">
        <span class="good">good day</span>
    </div>
      

  4.   

    难道var 一个变量,该变量一定不能是null的?
      

  5.   

    $('.test')是jquery对象的集合,没有className属性,
    $('.test').eq(0)//获取第一个jq对象
    $('.test').get(0)//获取第一个元素
      

  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 runat="server">    <script type="text/javascript" src="jquery-1[1].3.2.min.js"></script>    <style type="text/css">
            .test
            {
                color:Red;
            }
        </style>    <script type="text/javascript">
            function getclass() {
                $(".good").addClass("test");
            }
        </script>    <title></title>
    </head>
    <body onload="getclass()">
        <form id="form1" runat="server">
        <div>
            <span class="good">good day</span>
        </div>
        
        </form>
    </body>
    </html>
      

  7.   

    晕死,getclass($('.test'))这不是把test传进去了吗。先说明,上面的代码运行完全没有错,只是将
    <div class="test li_h24">
    改成
    div class="test">
    时才会报错。
      

  8.   


            function getclass(what) {
                // var liheight = what[0].className.match(/li_h\d+/)[0];
                //debugger;
                var liheight = $('.test').get(0).className.match(/li_h\d+/); 
                if (liheight) {
                    $(".test2").addClass(liheight[0]);
                } else {
                    alert("没有这个class属性");
                }
            }
      

  9.   

    能行,能否解释一下?
    是不是  what[0].className.match(/li_h\d+/) 如果已经是null
    what[0].className.match(/li_h\d+/)后面再加[0]的话js无法运行下去了?//debugger;
    还有你是用什么调试js的,一直都没有很好的调试js方法,只是用firebug,好像不太专业
      

  10.   

    只有数组才可以使用索引来访问它的元素,null不是一个数组对象,所以null[0]这样的语句是错误的。调试js用firebug和vs2008