这是我的javascript
<head runat="server">
<script type="text/javascript" language="javascript">
function createQuestionPanel() {
var element = document.createElement("Input");
element.setAttribute("type", "button");
element.setAttribute("value", "button");
element.setAttribute("name", "button");
var div = '<div>top div</div>';
div[0].appendChild(element);
}
function formvalidate() {
}
</script>
</head>
<body onload="createQuestionPanel()">
</body>
</html>
抛出错误“AppendChild不是函数”。我试图寻找解决方案..有人建议在
的地方div.appendChild(元件);
这应该发布
DIV [0] .appendChild(元件);
它没有改变错误。请建议
答案 0 :(得分:12)
您的div
变量是一个字符串,而不是DOM元素对象:
var div = '<div>top div</div>';
字符串没有appendChild
方法。不是创建原始HTML字符串,而是将div创建为DOM元素并附加文本节点,然后附加输入元素:
var div = document.createElement('div');
div.appendChild(document.createTextNode('top div'));
div.appendChild(element);
答案 1 :(得分:6)
function createQuestionPanel() {
var element = document.createElement("Input");
element.setAttribute("type", "button");
element.setAttribute("value", "button");
element.setAttribute("name", "button");
var div = document.createElement("div"); <------- Create DIv Node
div.appendChild(element);<--------------------
document.body.appendChild(div) <------------- Then append it to body
}
function formvalidate() {
}
答案 2 :(得分:1)
在此
var div = '<div>top div</div>';
“ div”不是DOM对象,只是一个字符串,并且 字符串没有 string .appendChild。
这里有一些参考可以帮助您使用appendChild方法:
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);
var element = document.getElementById("div1");
element.appendChild(para);
</script>
答案 3 :(得分:0)
尝试以下方法:
var div = document.createElement("div");
div.innerHTML = "topdiv";
div.appendChild(element);
document.body.appendChild(div);
答案 4 :(得分:0)
只需更改
var div = '<div>top div</div>'; // you just created a text string
到
var div = document.createElement("div"); // we want a DIV element instead
div.innerHTML = "top div";
答案 5 :(得分:0)
我只是使用 $(".ClassName")[0].appendChild(div);
或 $("#IdName")[0].appendChild(div);
x)