日期:2014-05-16  浏览次数:20367 次

js创建的元素无法显示的问题
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
  var board = document.getElementById("board");
  var e = document.createElement("input");
  e.type = "button";
  e.value = "这是测试加载的小例子";
  board.appendChild(e);
 </script>
</head>

<body>
<div id="board">科目</div>
</body>
</html>


这儿的创建的input元素为什么无法在div处显示??
js的帮助文档没有appendChild(chileNode)方法,这是以前的版本中的方法吗???

------解决方案--------------------
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<div id="board">科目</div>
<script type="text/javascript">
var board = document.getElementById("board");
var e = document.createElement("input");
e.type = "button";
e.value = "这是测试加载的小例子";
board.appendChild(e);
 </script>
</body>
</html>

原因是document.getElementById在调用的时候,board元素还没有创建,所以正常的做法是放到<div></div>之后,另外一种做法是放到整个页面加载结束onload方法里。