重复DIV onclick()

时间:2014-07-05 17:03:24

标签: javascript html

我在点击其内容时尝试重复DIV的内容。

<html>
 <head>
    <script type="text/javascript" src="javascript.js"></script>
 </head>
<body>

<div id="repeatTHIS"> 
   <a>text</a><br>
   <button id="button" onclick="repeat()">text</button><br>
   <a>text</a>
</div>

</body>
</html>

javascript.js

document.getElementById('button').onclick = repeat;

var i = 0;
var original = document.getElementById('repeatTHIS');

function repeat() {
var clone = original.cloneNode(true);
clone.id = "repeatTHIS1" + ++i; 
original.parentNode.appendChild(clone);
}

我还想随机定位复制的div,但是我甚至无法重复我的DIV。

编辑: DEMO

这实际上使用jsfiddle,但在使用记事本

时没有

1 个答案:

答案 0 :(得分:3)

在该元素存在之前,您已经包含并运行了JS。 original将不确定。将脚本包含在HTML下面:

<body> 
  <div id="repeatTHIS"> 
    <button class="button" onclick="repeat()">text</button><br>
    <button class="button" onclick="repeat()">text</button><br>
    <button class="button" onclick="repeat()">text</button>
  </div>

  <script type="text/javascript" src="javascript.js"></script>
</body>

并取消getElementById('button')来电,因为(a)它不会起作用,因为ID必须是唯一的,并且(b)在元素上点击处理程序时,它是不必要的。

示例:http://codepen.io/paulroub/pen/bxgIe