函数getElementsByClassName()在控制台中显示错误

时间:2015-02-22 13:48:24

标签: javascript google-chrome console

我的代码:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style/game.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<meta charset="UTF-8"/>
</head>
<body onload="generate()">
<table border="1">
<tr class="1">
</tr>
</table>
<script>
function generate()
{
        var gen = document.getElementsByClassName("1");
        for (var j=1;j<=10;j++)
        {
            var gens = document.createElement("td");
            var gens2 = document.getElementsByClassName("1").appendChild(gens);
            gens.setAttribute("class", 1.j);
        }
}
</script>
</body>
</html>

当我用浏览器打开它时,它显示在consol中:var gens2 = document.getElementsByClassName(&#34; 1&#34;)。appendChild(gens); 这一行有错误。

2 个答案:

答案 0 :(得分:1)

你在寻找的是:

document.getElementsByClassName("1")[0];

为什么你不能工作是因为它获得了类名为1的所有元素。您还没有指定从哪个元素获取数据。

答案 1 :(得分:1)

document.getElementsByClassName()函数返回一个元素数组(查看元素上的“s”。要访问第一个返回的元素,请使用:

document.getElementsByClassName("1")[0];

如果你现在没有返回多少元素,只需循环返回数组的长度。