为什么我的appendChild不工作?

时间:2011-07-14 03:30:24

标签: javascript element appendchild createelement

我在这里设置了一个小的javascript应用:http://jsfiddle.net/faYMH/

我想要它做的是添加

<div><h1>Hi there and greetings!</h1></div>

之后

<div id='org_div1' onclick="addElement()">Hello</div>
使用

<a href="#" onClick="addElement()" >add some</a>

(实际上,我想要的是onClick直接进入

那么任何人都可以更正我的代码或提供一些输入吗?

(我的下一步是添加一个删除div,将id添加到id为+ i ++的新div中)

非常感谢!!

2 个答案:

答案 0 :(得分:4)

这是JSFiddle的一个怪癖。它将所有代码包装在一个闭包中,因此onclick处理程序无法访问您的函数。将函数导出到全局范围:

window.addElement=addElement;

或者将JSFiddle中的小下拉从“onLoad”更改为“no wrap(head)”或“no wrap(body)”。当你在这里时,你可能想要将“Mootools”改为“No-Library(纯JS)”。

答案 1 :(得分:2)

在你的jsFiddle中,addElement的范围限定在文档就绪处理程序中,因此单击处理程序无法使用。我已经修改了jsFiddle中的设置(没有更改任何代码),也没有将代码包裹起来,现在它对我有用:http://jsfiddle.net/jfriend00/XVDYa/

我将jsFiddle设置更改为“No-Library(pure JS)”和“no wrap(head)”。这是第二个真正有所作为的设置。