当我点击带有调用make_child函数的onclick属性的p元素时,我希望它在点击时附加一个div元素,但它接缝只是将一个文本节点附加到段落元素的原因是什么这个?
<script type="text/javascript">
function make_child(text, id, type) {
var text = document.createTextNode(text);
var target = document.getElementById(id);
var add = document.createElement(type);
var addtext = add.appendChild(text);
target.appendChild(addtext);
}
</script>
<p id="changeme" onclick="make_child('I have changed', 'changeme', 'div')">Click me to change</p>
答案 0 :(得分:2)
将最后一行更改为此
target.appendChild(add);
现在您要附加到正确的元素
答案 1 :(得分:1)
尝试target.appendChild(add)
代替target.appendChild(addtext)
编辑(更多细节):
appendChild
(来自MDN)的语法是:
var child = element.appendChild(child);
其中child
是要附加的元素 。在这种情况下,addtext = add.appendChild(text)
设置为text
而不是add
。只做target.appendChild(add)
就可以解决这个问题。
这也意味着变量addtext
无用;你可以删除它只留下
add.appendChild(text)
该行。