में नया एक वापस लौटना, आप jQuery में किसी तत्व को कैसे प्रतिस्थापित करते हैं और हटाए गए तत्व के बजाय प्रतिस्थापन तत्व लौटाया गया है?एक तत्व को प्रतिस्थापित करना और jQuery
मेरे पास निम्न परिदृश्य है। मेरे पास कई चेकबॉक्स हैं और एक बार जब आप उनमें से किसी एक पर क्लिक करते हैं, तो चेकबॉक्स को लोडिंग आइकन द्वारा प्रतिस्थापित किया जाता है। एक बार कुछ AJAX सामान होता है, तो लोडिंग आइकन को एक टिक आइकन द्वारा प्रतिस्थापित किया जाता है।
का उपयोग jQuery के replaceWith
, आप की तरह कुछ करना चाहते हैं: क्योंकि replaceWith
रिटर्न तत्व यह है कि हटा दिया गया था, नहीं एक जो जोड़ दिया गया
$("input[type='checkbox']").click(function() {
$(this).replaceWith("<img src='loading.jpg' alt='loading'/>");
$.post("somepage.php");
$(this).replaceWith("<img src='tick.jpg' alt='done'/>");
});
बहरहाल, यह काम नहीं करता। तो AJAX सामान पूरा होने के बाद, loading.jpg
बस हमेशा के लिए रहेगा।
क्या कोई तरीका है कि मैं इसे चुनने के बिना प्रतिस्थापन तत्व वापस कर सकता हूं?
अग्रिम धन्यवाद।
एक .loading-image क्लास का उपयोग करने के बजाय, क्या आप केवल लोडिंग आईएमजी के संदर्भ को नहीं रख सकते हैं और कॉलबैक में डाल सकते हैं, इसके बजाय इसे $ ('लोडिंग-इमेज') के साथ पुनः खोज रहे हैं? – cdmckay
प्रश्न (और उत्तर) प्रतिस्थापित करने के लिए विशिष्ट था जिसके द्वारा निकाला गया तत्व लौटाता है, न कि तत्व बनाया गया था। आप तत्व बना सकते हैं और एक चर में इसका संदर्भ संग्रहीत कर सकते हैं, फिर प्रतिस्थापन करें। उस स्थिति में, मुझे लगता है कि हाँ आप संदर्भ का उपयोग कर सकते हैं और इसे फिर से नहीं देख सकते हैं। – tvanfosson