为什么这个简单的javascript代码片段不起作用

时间:2013-08-23 03:27:51

标签: javascript

我在哪里做错了? 为什么这段javascript代码不起作用?

这一定很容易,但我不知道为什么,我真的是这个新手

<!DOCTYPE html>
<html>
<body>

<p id="demo">Click the button to make a BUTTON element.</p>

<button onclick="myFunction()">Try it</button>

<script type="text/javascript">

function myFunction()
{
var bodyel = document.getElementById("body");
var block = document.createElement("div");
block.innerHTML = "whatever";
bodyel.appendChild(block);
};


</script>

</body>
</html>

5 个答案:

答案 0 :(得分:2)

您的<body>元素根本没有“id”属性,更不用说其值为“body”的元素了。

你可以这样做:

<body id=body>

或者这个:

var bodyel = document.getElementsByTagName('body')[0];

或者只是:

var bodyel = document.body;

答案 1 :(得分:0)

不需要使用id

调用正文

如果是,则必须添加该ID。

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to make a BUTTON element.</p>
<button onclick="myFunction()">Try it</button>
<script type="text/javascript">
function myFunction() {
 var bodyel = document.body;
 var block = document.createElement("div");
 block.innerHTML = "whatever";
 bodyel.appendChild(block)
}
</script>
</body>
</html>

答案 2 :(得分:0)

这是问题

var bodyel = document.getElementById("body"); //body is not id

您可以使用

getElementsByTagName('body')[0];

var b = document.body;

答案 3 :(得分:0)

更改行:

var bodyel = document.getElementById("body");

以下

var bodyel = document.body;

答案 4 :(得分:0)

Fiddle

您需要稍微更改一下代码: -

var bodyel = document.getElementsByTagName("body")[0];

休息会有效。看看这个fiddle。另请尝试查看document-body-appendchildi