में क्लोनिंग मैं एक तालिका पंक्ति क्लोन और इनपुट क्षेत्रों को प्रतिबिंबित करने के लिए कई आईडी के अद्यतन करने के लिए कोशिश कर रहा हूँ के बाद। मैं ऐसा करके शुरू करता हूं और यह काम करता है:बदलने विभिन्न आईडी के jQuery
$(id).clone().attr("id", "newId");
जो मेरी मुख्य तालिका पंक्ति की आईडी को नए आईडी में बदल देता है। तालिका पंक्ति में मेरे पास अन्य आईडी है जिसे बदलने की आवश्यकता है। उदाहरण के लिए:
<input type="text" id="input_1">
करने के लिए बदल जाएगा:
<input type="text" id="input_2">
मैंने सोचा कि यह पहचान-पत्र को बदलने के लिए कुछ इस तरह होगा:
$(id).clone().attr("id", "newId").("#input_1").attr("id", "input_2");
यह काम नहीं करता। मैं इसे कैसे ठीक कर सकता हूं ताकि सभी आईडी का परिवर्तन हो? तुम्हारे पास है के रूप में जब से तुम एक समारोह कॉल वंचित हो रहे हैं
मैंने पहले खोज() का उपयोग कर की कोशिश की है और विशेषताओं में से एक को बदलने में सक्षम था, लेकिन अन्य विशेषताओं में परिवर्तन नहीं करते। मुझे बताया गया था कि अगली बार जब मैं पाते हैं तो यह सोचता है कि अगला तत्व एक ही आईडी के भीतर स्थित है। तो अगर मेरे पास 3 आईडी बदलना है, तो खोज का उपयोग करके मैं पहले बदल दूंगा, लेकिन बाकी छूटे रहेंगे। – rshivers
@rshivers - यही कारण है कि मैं एक चर में क्लोन संग्रहीत है। यह आपके द्वारा क्लोन की गई संपूर्ण संरचना को संग्रहीत करता है, ताकि आप '$ क्लोन' के विरुद्ध अतिरिक्त' ढूंढें() 'कॉल कर सकें। दोबारा, यदि आपके पास अपडेट करने के लिए कई हैं, तो शायद एक समय में इसे एक से अधिक तेज़ी से करने का एक तरीका है। – user113716
आप '$ clone.attr ('id', $ clone.attr ('id') बदल सकते हैं। (/ \ D + $ /, function (str) {return parseInt (str) + 1;});' ' '$ clone.attr ('id', फ़ंक्शन (i, attr) {वापसी attr.replace (/ \ d + $ /, फ़ंक्शन (str) {वापसी parseInt (str) + 1;} \t)});' – azatoth