开发者问题收集

在JS中创建空的DIV的未接收类型错误

2015-01-08
393

所以我有一个生成雪花的脚本,一切运行正常。我在这里使用原始 javascript。根本不使用 jquery。所以我只想把脚本放进去,它会创建自己的类并分配它们,而无需先前制作的样式表。所以我创建了元素,然后尝试将其附加到主体,但它说元素为空。

...

<script>
  this.elem = document.createElement('div');
  document.getElementById('body').appendChild(this.elem);                           //appending flake to body
</script>

...

这会出现错误。

2个回答

如果您尝试在 <body></body> 内附加内容,则需要使用 getElementsByTagName:

document.getElementsByTagName('body')[0].appendChild(this.elem);

Bhojendra Rauniyar
2015-01-08

您可以通过将 HTML 标记更改为此来实现它;

<body id="body">
</body>

相同的代码可以正常工作。

Working Fiddle

如果您不想更改 HTML 标记,您可以通过 getElementsByTagName 来实现它,正如@Bhojendra 所回答的

Aamir Shahzad
2015-01-08