0

我只是想知道我离克隆这个 div 有多近我真的不知道在这个阶段我在做什么需要帮助。

还是我应该使用 jquery

<div id="question20">20. Details of Children
    <br>Family Name
    <input type="text" name="children" class="textbox">
    <br>Given Names
    <input type="text" name="children" class="textbox">
    <br>Sex
    <input type="text" name="children" class="textbox">
    <br>Date of Birth
    <input type="text" name="children" class="textbox">
    <br>Country of Birth
    <input type="text" name="children" class="textbox">
    <br>
    <script>
        function cloning() {
            var container = document.getElementById("mydiv");
            var clone = document.getElementById("question20_0").cloneNode(true);
            clone.setAttribute('id', 'div_' + document.getElementById("mydiv").getElementsByTagName("question20").length);
            container.appendChild(clone);
    </script>
</div>
<input type="button" value="Press This" onclick="cloning()">
4

4 回答 4

1

浏览下面的代码。

<div id="mydiv">
    <div id="question20">
        20. Details of Children<br>
        Family Name<input type="text" name="children" class="textbox"><br>
        Given Names<input type="text" name="children" class="textbox"><br>
        Sex<input type="text" name="children" class="textbox"><br>
        Date of Birth<input type="text" name="children" class="textbox"><br>
        Country of Birth<input type="text" name="children" class="textbox"><br>

    </div>
</div>
<input type="button" value="Press This" onclick="cloning()">
<script>
function cloning() {
    var container = document.getElementById("mydiv");
    var clone = document.getElementById("question20").cloneNode(true);
    clone.setAttribute('id','div_'+document.getElementById("mydiv").getElementsByTagName("div").length);
    container.appendChild (clone);
}
</script>

这些是错误,

  • 你错过}了这个功能
  • 你提到question20_0而不是question20
于 2013-08-29T06:41:28.233 回答
0

您应该在 jQuery 中使用 .cloneNode() 函数。

http://api.jquery.com/clone/

于 2013-08-29T06:49:51.110 回答
0

clone()在 jquery 中使用。

HTML:

<input type="button" value="Press This" class="clone">

脚本:

$(".clone").click(function(){
    $("#question20").clone().insertAfter("div.mydiv:last");
});

阅读http://api.jquery.com/clone/了解更多详情。

干杯罗伊

于 2013-08-29T06:38:23.510 回答
0

我已经更新了你的代码来做我认为你想做的事情,你可以在这里找到它的演示,并评论你做错了什么:http: //jsfiddle.net/v876k/1/

这是去掉注释的功能代码:

<script>
function cloning() {
    var container = document.getElementById("mydiv");
    var clone = document.getElementById("question20").cloneNode(true);
    clone.setAttribute('id', 'div_' + container.childNodes.length);
    container.appendChild(clone);
}
</script>

<div id="question20">20. Details of Children
    <br>Family Name
    <input type="text" name="children" class="textbox">
    <br>Given Names
    <input type="text" name="children" class="textbox">
    <br>Sex
    <input type="text" name="children" class="textbox">
    <br>Date of Birth
    <input type="text" name="children" class="textbox">
    <br>Country of Birth
    <input type="text" name="children" class="textbox">
    <br>
</div>

<input type="button" value="Press This" onclick="cloning()">

<div id="mydiv">
</div>
于 2013-08-29T06:47:20.740 回答