为什么';Javascript不能识别HTML类属性吗?

为什么';Javascript不能识别HTML类属性吗?,javascript,Javascript,有人能帮我提个Javascript问题吗?为什么下面的代码只显示带有“null”一词的消息框?我认为他们也不够 <html> <head> <script type="text/javascript"> function showElementClasses(node) { var els = node.getElementsByTagName("*"); for(var i=0,j=e

有人能帮我提个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>

函数showElementClasses(节点){
var els=node.getElementsByTagName(“*”);

对于(var i=0,j=els.length;i您还忘记了
for(var i=0,j=els.length;i您还忘记了
for(var i=0,j=els.length;i这很好:

<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>

函数showElementClasses(节点)
{
警惕(“你好,世界”);
var els=node.getElementsByTagName(“*”);
对于(var i=0,j=els.length;i这很好:

<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>

函数showElementClasses(节点)
{
警惕(“你好,世界”);
var els=node.getElementsByTagName(“*”);

for(var i=0,j=els.length;i唯一的问题是
警报(“Class:+els[i].className”);
语句没有在
for
循环中运行。您需要更正大括号。

唯一的问题是
警报(“Class:+els[i].className);
语句没有在
for
循环中运行。您需要更正大括号。

是*有效的通配符吗?此外,for循环需要更多大括号。*正确(),大括号不正确。*是有效的通配符吗?此外,for循环需要更多大括号。*正确(),大括号不是。非常感谢!为什么只有在将调用放入onload属性时才起作用?是否在创建之前执行?将调用放入body标记的onload可确保在尝试为该文档“getElementsByTagName”之前加载整个文档中的所有标记(除非在主体标记结束后有元素,否则不太可能)因为body标记是文档中的最后一个标记。是的,您是正确的,脚本调用会在脚本调用中解析行后立即执行,因此这会给该方法带来一些问题。非常感谢!为什么只有在将调用放入onload属性时它才起作用?脚本调用是在创建之前执行的吗他为body标记调用onload,确保在您尝试为该文档“getElementsByTagName”之前加载整个文档中的所有标记(除非在body标记结束后有元素,这是不可能的)因为body标记是文档中的最后一个标记。是的,您是正确的,脚本调用将在脚本调用中解析该行后立即执行,因此这将导致该方法出现一些问题。似乎我最近使用Python太多了:)谢谢!似乎我最近使用Python太多了:)谢谢!