jQuery के .each()
कॉलबैक फ़ंक्शन लेता है और jQuery वस्तु में प्रत्येक तत्व के लिए यह लागू होता है।
$('a.ui-icon-cart').click(function(){
$(this).closest('li').clone().appendTo('#cart ul').each(function() {
$(this).find('h5').remove();
$(this).find('img').css({'height':'40px', 'width':'40px'});
$(this).find('li').css({'height':'60px', 'width':'40px'});
});
});
आप, साथ ही परिणाम और काम उस पर बजाय संग्रहीत कर सकती है:
$('a.ui-icon-cart').click(function(){
var $new = $(this).closest('li').clone().appendTo('#cart ul')
$new.find('h5').remove();
$new.find('img').css({'height':'40px', 'width':'40px'});
$new.find('li').css({'height':'60px', 'width':'40px'});
});
मैं भी तरह है कि आप बस सीएसएस mofiying के बजाय कि सुझाव है
कुछ इस तरह की कल्पना इस तरह अपने क्लोन ली में एक वर्ग जोड़ें:
$(this).closest('li').clone().addClass("new-item").appendTo('#cart ul');
फिर कुछ शैलियों को सेट करें जैसे:
.new-item img, .new-item li { height: 40px; width: 40px; }
.new-item h5 { display: none }
हम्म .. दूसरा उदाहरण अभी भी असीमित रूप से बंद हो जाएगा और अधिकांश मामलों में काम नहीं करेगा जब उन्हें कॉलबैक की आवश्यकता होती है * के बाद * एपेंड करने के लिए * – Trip
मुझे यकीन नहीं है कि आप समझते हैं कि एसिंक का मतलब @ ट्रिप --- वह सब उपरोक्त कोड synch है। इस कोड में कोई एसिंक्रोनस कॉल नहीं हैं। यहां तक कि प्रत्येक के अंदर भी कॉलबैक सिंक्रोनस है, इसे तुरंत कहा जाता है। किसी भी उदाहरण में एकमात्र अंतर यह है कि पहले प्रत्येक मिलान के तत्व के लिए वेरिएबल स्टोर करने के लिए प्रत्येक के अंदर एक नया दायरा बनाता है, अन्यथा उन्हें समान रूप से काम करना चाहिए। – gnarf
मैं गलत था! धन्यवाद :) – Trip