开发者问题收集

为什么我的 appendChild 不起作用?

2011-07-14
199

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

我希望它做的是在

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

之后使用

<a href="#" onClick="addElement()" >add some</a>
添加一个
<div><h1>Hi there and greetings!</h1></div>

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

所以有人可以纠正我的代码或提供一些输入吗?

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

非常感谢!!

2个回答

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

window.addElement=addElement;

或者将 JSFiddle 中的小下拉菜单从“onLoad”更改为“no wrap (head)”或“no wrap (body)”。在此过程中,您可能希望将“Mootools”更改为“No-Library (pure JS)”。

icktoofay
2011-07-14

在您的 jsFiddle 中,addElement 的范围被限定在文档就绪处理程序内,因此无法用于点击处理程序。我修改了 jsFiddle 中的设置(没有更改任何代码),以使您的代码不再以这种方式换行,现在它对我有用: http://jsfiddle.net/jfriend00/XVDYa/

我将 jsFiddle 设置更改为“无库(纯 JS)”和“无换行(head)”。第二个设置才是真正产生影响的。

jfriend00
2011-07-14