2016-03-02 52 views
1

这里是我的主要div克隆一个div,但它没有被格式化像主DIV

<div id="question-con"> 
       <label for="ques-code">Question Setter:</label> 
       <input type="checkbox" id="ques-code" name="ques-code"/> 
       <div id="question-toggle" style="display:none;">       
        <div id="question-div" style="background-color:#A6A6A6;width: 350px;border: 1px solid greenyellow;margin-bottom: 10px;"> 
         <label>Credit</label> 
         <input type="text" name="credit" class="credit" id="credit_0"> 
         <label>No of Setter</label> 
         <input type="text" name="setter"> 
         <label>Type</label> 
         <input type="text" name="type" id="type">        
         <label for="in-ex">Internal/External</label> 
         <input type="text" name="in-ex" id="">  
         <p class="remove" style="color:red;float: right;font-weight: bold;cursor: pointer;" >Remove</p> 
        </div> 
       </div>  
       <button id="btn-question" style="margin-top: 20px;margin-right: 5px; display: none;">Add</button> 
      </div> 

在每按一下按钮,下面的功能是triggered.I这里克隆的主要DIV,但克隆div的格式不像主要的div。

$("#btn-question").click(function (e) { 
       e.preventDefault(); 
       ++question_count; 
       var question_clone = $('#question-div').clone(); 
       question_clone.attr('id', question_count); 
       //question_clone.children().attr('id', "question_" + question_count); 
       question_clone.children(".credit").attr('id', "credit_" + question_count); 
       $('#question-toggle').append(question_clone); 
       $("#" + question_count + " input").val(""); 
      }); 

Click here to see the image

我可以做什么?

+0

请参阅https://jsfiddle.net/arunpjohny/dx4eacpo/2/ - 这是一个样式问题...克隆操作没有问题 –

+0

还有一点:克隆后,您有许多不是唯一的ID,它可以有影响样式和行为 – MysterX

回答

1

您需要作为参数传递真正的克隆得到它的格式太:

$('#question-div').clone(true,true); 

.clone([withDataAndEvents ] [, deepWithDataAndEvents ])

withDataAndEvents

布尔值,指示事件处理程序和数据是否应该随着元素一起复制。默认值是false。

deepWithDataAndEvents

布尔值,指示事件处理程序和数据用于克隆的元件的所有子是否应被复制。默认情况下,它的值与第一个参数的值相匹配(默认为false)。


这只会复制应用到的元素,但没有具体的规则,例如,如果你有#someid > a声明则某处复制a元素其他如#otherid a那么它将普通类或内联样式的格式不行。你需要明确地为它们定义css规则。

+0

这些参数用于复制数据和事件如何影响格式......假设OP意味着UI –

+0

我认为数据不仅意味着html5 data- *属性,而且意味着所有属性也包含格式化。 .. –

+0

我做过你曾经如何建议过我。但它不起作用。在jsfiddle你的tems中它工作正常。其实我需要改变哪一部分? –