有人可以帮我解决一个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>
答案 0 :(得分:2)
此外,您在for(var i=0,j=els.length; i<j; i++)
和alert("Class: " + els[i].className);
之后忘记了大括号。
答案 1 :(得分:2)
这很好用:
<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 :(得分:1)
唯一的问题是您的alert("Class: " + els[i].className);
语句未在for
循环中运行。你需要纠正你的牙箍。