我无法在body标签中创建表单元素并直接在Javascript中显示它。
这是我的代码:
document.addEventListener('load', function(event){
var elemBody = document.getElementsByTagName('body');
var elemForm = document.createElement('form');
});
我已经尝试过appendChild,但我没有成功。
(我是法国人)
答案 0 :(得分:1)
elemBody
包含一个数组,该数组又包含一个元素,即html文档的单个body
元素。调用elemBody.appendChild
将导致错误,因为您尝试将elemForm
添加到数组(使用未为数组定义的方法),而不是DOM元素。如果您按以下方式更新代码,则可能会获得更好的成功:
var elemBody = document.getElementsByTagName('body')[0];
var elemForm = document.createElement('form');
elemBody.appendChild(elemForm);
当然,如果不对其进行样式设置或向表单添加一些实际内容,您将无法检测到新表单可视的存在。
<强>更新强>
这比评论更容易。如果您希望能够看到您在视觉上添加的内容,请尝试以下操作:
var elemBody = document.getElementsByTagName('body')[0];
var elemForm = document.createElement('form');
elemForm.appendChild(document.createElement('textarea'));
elemBody.appendChild(elemForm);
更新2
这是一个完整的测试文件:
<html>
<head>
<script type="text/javascript">
function doit() {
var elemBody = document.getElementsByTagName('body')[0];
var elemForm = document.createElement('form');
elemForm.appendChild(document.createElement('textarea'));
elemBody.appendChild(elemForm);
}
</script>
</head>
<body onload="doit()"></body>
</html>