2012-04-18 13 views
11

मैं jQuery के लिए नया हूं और एक तत्व की आईडी को अपडेट करना चाहता हूं। मेरे दृष्टिकोण है:jQuery अद्यतन तत्व आईडी

  1. अपने आईडी

  2. द्वारा इस तत्व का चयन एक नया मान के साथ इस आईडी के ऊपर लिख।

क्या आप मुझे बताएंगे कि मेरी गलती कहां है?

धन्यवाद!

नीचे HTML कोड है: बहुत बहुत जानबूझकर है

<tr><th><label for="id_aerial_size_dist">Aerial size dist:</label></th><td><select name="aerial_size_dist" id="id_aerial_size_dist"> 
<option value="a">Very Fine to Fine</option> 
<option value="b">Fine to Medium (EFED Default)</option> 
<option value="c">Medium to Coarse</option> 
<option value="d">Coarse to Very Coarse</option> 
</select></td></tr> 

jQuery

<script type="text/javascript" src=" ../stylesheets/jQuery-1.7.2.js"></script> 

<script> 
$(document).ready(function() { 

    $('#id_aerial_size_dist').attr('id', 'id_a'); 

    }); 
</script> 
+0

[मेरे लिए काम करता है] (http://jsfiddle.net/davidThomas/V2ZFf/) (विन XP/क्रोम 18)। –

+0

यह क्रोम कैनरी में मेरे लिए काम कर रहा है (http://jsfiddle.net/beardtwizzle/jqbb2/) – isNaN1247

+0

क्या आपके पास एक ही आईडी के साथ एक से अधिक तत्व हैं? साथ ही, आपको लेबल के 'विशेषता' विशेषता में एक समान परिवर्तन करने की आवश्यकता होगी। – nnnnnn

उत्तर

31

हां किसी भी विशेषता को बदलने का कोई तरीका है।

$('#your_element').attr('id','the_new_id'); 

फिर फिर, यह निश्चित रूप से अनुशंसित नहीं है और यह भी एक बहुत बुरा अभ्यास है। हालांकि आप समान कार्यक्षमता के लिए कक्षाओं का उपयोग कर सकते हैं।

$('.my_class').removeClass('my_class').addClass('normal_element'); 

तुम मुझे बताओ तुम मैं एक समाधान के साथ तुम बाहर में मदद मिलेगी क्या करने की जरूरत है।

+0

आपका '.attr() 'उदाहरण वही है जैसा ओपी के प्रश्न में था। – nnnnnn

+0

फिर समस्या कहीं और है। वह लाइब्रेरी को स्वयं शामिल करने के लिए सापेक्ष पथ का उपयोग कर रहा है, इसलिए समावेशन विफल हो सकता है। –

+0

@AlexFl इस एड क्लास समाधान प्रदान करने के लिए धन्यवाद। क्या मुझे पता है कि आईडी नाम बदलने की सिफारिश क्यों नहीं की जाती है? –

2

व्यक्तिगत तौर पर मैं इस तथ्य jQuery आईडी के लिए एक विशिष्ट सेटर विधि नहीं है कि की तरह महसूस क्योंकि आप चारों ओर आईडी बदलना नहीं चाहिए। क्या कोई कारण है कि आप कक्षाओं का उपयोग नहीं कर रहे हैं? jQuery के पास तत्व के संबंध में उन लोगों के प्रबंधन के लिए बहुत सारे उपयोगी फ़ंक्शन और चयनकर्ता हैं और इन्हें अद्वितीय पहचानकर्ता और समूह पहचानकर्ता दोनों के रूप में उपयोग किया जा सकता है।

+2

आप आसनों को क्यों बदल नहीं रहे हैं? यह भी स्वीकार करते हुए कि आपको "नहीं होना चाहिए", तथ्य यह है कि आप _can_ है, तो यह सवाल का जवाब कैसे देता है? – nnnnnn

+1

मैं थोड़ी देर के लिए क्यू एंड ए साइट्स पर जा रहा हूं और एक बात मैंने सीखा है कि कभी-कभी सबसे अच्छा जवाब यह है कि "आप गलत सवाल पूछ रहे हैं।" उस ने कहा, भले ही वह आईडी का उपयोग जारी रखने के लिए दृढ़ है, हो सकता है कि कोई और नहीं हो। स्टैक ओवरफ्लो को क्यू एंड ए साइट जितना ही संदर्भ माना जाता है और मेरा उत्तर बाद में किसी और के लिए सबसे अच्छा जवाब हो सकता है। –

+2

मैं मानता हूं कि "आप गलत सवाल पूछ रहे हैं" सामान्य रूप से एक वैध उत्तर है, और इस मामले में अंतर्निहित आवश्यकता जो कुछ भी करने का बेहतर तरीका हो सकता है। लेकिन दूसरी ओर दिखाए गए कोड को काम करना चाहिए, यानी, यह आईडी को बदलना चाहिए - कारण यह दिखाए जाने वाले किसी कारण के कारण नहीं होना चाहिए। तो मुझे लगता है कि मैं जो कह रहा हूं वह यह है कि एक पूर्ण उत्तर यह संबोधित करेगा कि (बेहतर विकल्प सुझाए जाने के लिए बोनस अंक के साथ)। – nnnnnn

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