代码之家  ›  专栏  ›  技术社区  ›  escargot agile

为什么JavaScript不能识别HTML类属性?

  •  0
  • escargot agile  · 技术社区  · 14 年前

    有人能帮我解答一个javascript问题吗?为什么下面的代码只显示包含单词“null”的消息框?我认为它们也不够。

    <html>
    <head>
        <script type="text/javascript">
            function showElementClasses(node)  {
                var els = node.getElementsByTagName("*");
                for(var i=0,j=els.length; i<j; i++)
                    alert(els[i].getAttribute("class"));
                    alert("Class: " + els[i].className);
            }
    
            showElementClasses(document);
        </script>
    </head>
    <body class="bla">
        <div class="myclass" style="width: 500; height: 400" id="map"></div>
    </body>
    </html>
    
    3 回复  |  直到 14 年前
        1
  •  2
  •   Nitrodist    14 年前

    这很好用:

    <html>
    <head>
        <script type="text/javascript">
            function showElementClasses(node)  
            {
    
                alert("hello, world.");        
                var els = node.getElementsByTagName("*");
                for(var i=0,j=els.length; i<j; i++)
                {
                    alert(els[i].getAttribute("class"));
                    alert("Class: " + els[i].className);
                }
            }
    
    
        </script>
    </head>
    <body class="bla" onload="showElementClasses(document)">
        <div class="myclass" style="width: 500; height: 400" id="map" ></div>
    </body>
    </html>
    
        2
  •  2
  •   mefcorvi    14 年前

    你还忘了后面的大括号 for(var i=0,j=els.length; i<j; i++) alert("Class: " + els[i].className); .

        3
  •  1
  •   Mitch Dempsey    14 年前

    唯一的问题是 alert("Class: " + els[i].className); 语句未在您的 for 循环。你需要矫正你的牙套。