2012-02-08 8 views
6

मैं डीआईवी कैसे क्लोन कर सकता हूं, इसे div के ठीक बाद जोड़ सकता हूं और इसे एक नया पहचानकर्ता दे सकता हूं?jQuery .clone .insert एक नई आईडी के साथ

मैं एक वर्ग reflection के साथ एक DIV है, मैं इस DIV के प्रत्येक उदाहरण चाहते हैं, क्लोन, और मूल के बाद सही डाला, लेकिन वर्ग reflected साथ मैं jQuery के साथ ऐसा कर सकते हैं कैसे (वर्ग, reflection के बिना)?

यहाँ मेरे वर्तमान बेला है, लेकिन यह सही काम नहीं करता है ... http://jsfiddle.net/yUgn9/

+0

@rusty, आपका उत्तर कहां गया, यह सही था? – henryaaron

उत्तर

9

.after() करने के लिए एक समारोह दर्रा, और यह अद्यतन क्लोन वापसी की है।

$('div.reflection').after(function() { 
    return $(this).clone().toggleClass('reflection reflected'); 
}); 

डेमो:http://jsfiddle.net/PFBVX/


jQuery के पुराने संस्करणों में, यह करने के ...

$('div.reflection').each(function() { 
    $(this).after($(this).clone().toggleClass('reflection reflected')); 
}); 

डेमो:http://jsfiddle.net/PFBVX/1/

+0

क्षमा करें ... 1.4.2 – henryaaron

+0

@ user1090389 के साथ काम नहीं करता है: फिर आप वही काम करेंगे, लेकिन '.each()' के साथ। मैं अपडेट करूंगा। –

+2

ईश्वर मुझे स्टैक ओवरफ्लो पसंद है! एक खोज, पहला परिणाम! धन्यवाद! – NaturalBornCamper

2

मेरा मानना ​​है कि आप चाहते प्रत्येक की आवश्यकता होगी() की उन्हें व्यक्तिगत रूप से उन्हें संभालने के लिए। वर्तमान में कोड क्या कर रहा है उन सभी को पकड़ रहा है और उन सभी के बाद उन्हें क्लोन कर रहा है। इसके बजाए, आप वांछित के रूप में कक्षाओं को बदलने के बाद, उनमें से प्रत्येक को अलग-अलग संभालना चाहते हैं और मूल के बाद क्लोन डालना चाहते हैं।

$(document).ready(function(){ 

    $('div.reflection').each(function() { 
     var org = $(this), 
      clone = org.clone(); 

     clone.removeClass('reflection').addClass('reflected') 
      .insertAfter(org); 
    }); 

}); 
संबंधित मुद्दे