2016-12-02 95 views
0

我正在用参数调用函数。传递函数参数中的对象在jquery中克隆

clonDiv(num7);

这里是代码

 function clonDiv(div) { 
     div.id = "'#"+div.id+"'"; //here i am trying to turn it into sting 
     $(div.id).clone().addClass('copy').appendTo("#container"); 
     } 

,但不能传递参数那样。 使代码工作,我需要通过DIV ID一样,

clonDiv("#num7"); 
 function clonDiv(div) { 
     $(div).clone().addClass('copy').appendTo("#container"); 
     } 

,但我想只是把它传递这样clonDiv(num7);并在函数中描述所有引号。 函数中的参数是一个对象。该对象

<div id="num7" class="box resizable draggable ui-resizable selected"></div> 

clonDiv(num7)的

格结构;我使用eval()从textarea调用;

+0

究竟是什么问题?它真的不清楚。 – Dekel

+0

我不知道如何在此jQuery结构$(“#parameter”)中传递函数参数以使其工作 –

+1

如果您想从div元素获取id,请使用'$(div).attr(id)'或'$ (div)[0] .id' – CMedina

回答

1

假设num7已经(前缀#)jQuery对象或和ID,你应该能够直接克隆它:

function clonDiv(div) { 
    $(div).clone().addClass('copy').appendTo("#container"); 
} 

但你也应该更改ID,标准指定HTML元素的ID应该是唯一的,我可能还发送ID为新元素

function clonDiv(div, newId) { 
    $(div).clone().attr('id', newId).addClass('copy').appendTo("#container"); 
} 

并调用它像

clonDiv(num7, 'num8'); 
+0

谢谢!而对于新的解决方案,另一个tnanx,哇。 –

+0

我不明白我错过了$(div)。我当然试过了。 –

1

它让我感到这是你在做什么;

function clonDiv(id){ 
    $("#" + id).clone().addClass('copy').appendTo($('#container')); 
} 

clonDiv('num7'); 
+0

它的工作原理,但我问是否可以做clonDiv(num7);没有任何其他的) –

+1

这是很难回答,不知道'num7'是什么。它是一个jQuery对象,元素,字符串或数字吗? – Steve

+0

对象。可能jquery。以及它的“对象htmldivelement” –