简体   繁体   English

如何克隆div jQuery HTML

[英]How clone div jquery html

I need to clone some parts of a HTML page but I've got something wrong. 我需要克隆HTML页面的某些部分,但是出现了问题。

<div id="question_answer">
    <label for="label_questions">Questions</label>
    <input type"text" name="questions_name">
    <div id="answer">
        <label for="label_answer">Answer</label>
        <input type="text" name="answers_name">
    </div>
</div>

Suppose there is a number of questions that we know X (example x=4 ) my code is: 假设有许多我们知道X的问题(例如x=4 ),我的代码是:

var div_questions_answer = $('#question_answer');
var div_answer = $('#answer');

for (var i = 0; i < X; i++) {
    var label = $('label[for^="label_questions"]').clone();
    div_answer.append(label);
}
div_questions_answer.append(div_answer);

I can't see the four label but I can see only one!Anyone can help me? 我看不到四个标签,但只能看到一个!有人可以帮助我吗?

尝试这个

$QuestionAns = $('#question_answer').clone();

Why can't you do this? 你为什么不能这样做?

var div_answer = $("#answer");
for (var i = 0; i < 4; i++) {
    $('#question_answer > label[for^="label_questions"]').clone().appendTo("#answer");
}

FIDDLE 小提琴

@RejithRKrishnan's comment was reasonable in regard to there must be clone of a single label element. @RejithRKrishnan的评论关于必须复制单个标签元素是合理的。 But $('label[for^="label_questions"]') selector gets multiple elements if they are presented in markup (after at leat first loop iteration). 但是$('label[for^="label_questions"]')选择器会在标记中显示多个元素(在循环$('label[for^="label_questions"]')之后)。
Use the following solution to attach a single clone to the div_answer element: 使用以下解决方案将单个克隆附加到div_answer元素:

var div_questions_answer = $('#question_answer');
var div_answer = $('#answer');
var label = $('label[for^="label_questions"]:first').clone();

for (var i = 0; i < 4; i++) {
    label.clone().appendTo(div_answer);
}
div_questions_answer.append(div_answer);

https://jsfiddle.net/bg9vbge9/ https://jsfiddle.net/bg9vbge9/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM