2013-01-06 12 views
7

क्या किसी तत्व की सामग्री को क्लोन करने के लिए jQuery में कोई तरीका है? संपूर्ण तत्व नहीं, केवल सामग्री (बच्चों)।jquery क्लोन केवल तत्व की सामग्री

.html() के समान कुछ ऐसा कर रहा है, लेकिन मैं सामग्री से जुड़ी घटनाओं को क्लोन करने में भी रूचि रखता हूं।

मैं .clone पर देख रहा था, लेकिन ऐसा लगता है कि यह पूरे तत्व को क्लोन कर रहा है।

धन्यवाद।

+0

सभी बच्चों के माध्यम से लूप और उन्हें कॉपी करें? – ZombieSpy

+3

'$ cloned.children()'? – undefined

+0

तत्वों से जुड़ी घटनाओं को क्लोन नहीं किया गया है –

उत्तर

18

Doua बेरी, the jQuery API documentation for .clone() के संदर्भ में आप पाएंगे कि क्या आप चाहते हैं .clone(true,true) है। इससे सभी डेटा और ईवेंट बाइंडिंग समेत तत्व (या तत्वों का संग्रह) की गहरी प्रतिलिपि बन जाएगी।

आपके पास .clone(true,true) का उपयोग करने के तरीके के दो विकल्प हैं।

  1. बच्चों के क्लोन समेत एक jQuery संग्रह देने के लिए अलग-अलग बच्चों को क्लोन करें।

    var $childClones = $("#myElement").children().clone(true,true);

  2. क्लोन बाहरी तत्व बाहरी तत्व का क्लोन शामिल एक jQuery संग्रह देने के लिए, जो अपने आप बच्चों के क्लोन से युक्त।

    var $clone = $("#myElement").clone(true,true);

यह कुछ हद तक शैक्षिक जो आप को अपनाने दृष्टिकोण है। दोनों मामलों में वंशज तत्व सामूहिक रूप से या अलग-अलग उपलब्ध होते हैं ताकि डीओएम में छेड़छाड़ की जा सके और/या डाला जा सके, हालांकि ऐसा करने के लिए कोड थोड़ा अलग होगा।

4

आप एक गहरे प्रतिलिपि चाहते हैं, बस बच्चों को क्लोन:

$('#footer-flair').children().clone()

और बजाय विशेष तत्वों को घटनाओं संलग्न की एक कंटेनर तत्व यह है कि बच्चे के तत्वों के लिए सुन रहा है, कि जिस तरह से करने के लिए एक घटना देते हैं अपने घटनाएं तब तक आग लग जाएंगी जब तक कंटेनर तत्व तब भी रहता है जब आप कंटेनर के अंदर एक हजार तत्व जोड़ते/हटाते हैं। यदि आप कभी भी अपनी घटनाओं को दूर नहीं करना चाहते हैं तो आप इसे बॉडी टैग पर कर सकते हैं।

उपयोग करती हैं इसलिए तरह की घटनाओं बाध्य करने के लिए विधि 'पर':

$('body').on('click', 'button.className', function(){ 
    alert('button clicked'); 
}); 
+0

उन घटनाओं के बारे में क्या जो बबल नहीं करते हैं? –

+0

घटनाओं को क्लोन नहीं किया जा रहा है। –

+0

@DouaBeri मैं अपने उत्तर में क्या कहने की कोशिश कर रहा हूं कि आप घटनाओं को क्लोन नहीं कर सकते हैं, लेकिन कई अलग-अलग तत्वों से जुड़ी कई घटनाओं के बजाय, उन्हें 'बॉडी' जैसे माता-पिता से बांधें और कोड उदाहरण जैसे बच्चों को सुनें ऊपर। – nimrod

संबंधित मुद्दे