jQuery - ক্লাসের পরিবর্তে আইডি যুক্ত করুন


99

আমি বর্তমান jQuery ব্যবহার করছি :

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').addClass($(this).text());
        $('#container').addClass($(this).text());
        $('.stretch_footer').addClass($(this).text())
        $('#footer').addClass($(this).text());
    });
});

এটি পৃষ্ঠার 4 টি উপাদানগুলিতে ব্রেডক্রাম্বারে রাখা পাঠ্যটি প্রয়োগ করে, সেখানে পৃষ্ঠায় আমাকে বিশেষভাবে স্টাইল করার অনুমতি দেয়।

আমি ক্লাসের পরিবর্তে আইডি যুক্ত করার চেষ্টা করতে চাই, আমি কীভাবে এটি অর্জন করতে পারি?


বৈধ এক্সএইচটিএমএল হওয়ার জন্য একটি আইডি অবশ্যই অনন্য হতে হবে। একটি আইডি অবশ্যই কঠোর নিয়মের সাথে মিল রাখতে হবে, উদাহরণস্বরূপ, কোনও স্পেস নেই, চিঠি বা _ দিয়ে শুরু হওয়াতে কেবল বর্ণ, সংখ্যা বা সীমিত সংখ্যক অন্যান্য অক্ষর থাকতে পারে।
ডগ ডোমেনি

7
@ পিটার: উইকিপিডিয়ায় একটি লিঙ্ক যুক্ত করা কিছুটা অপ্রয়োজনীয় বলে মনে হচ্ছে।
নিকফ


উত্তর:


232

এটা চেষ্টা কর:

$('element').attr('id', 'value');

সুতরাং এটি হয়ে যায়;

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').attr('id', $(this).text());
        $('#container').attr('id', $(this).text());
        $('.stretch_footer').attr('id', $(this).text())
        $('#footer').attr('id', $(this).text());
    });
});

সুতরাং আপনি তিনটি উপাদানের আইডি পরিবর্তন / ওভাররাইট করছেন এবং একটি উপাদানকে একটি আইডি যুক্ত করছেন। আপনার প্রয়োজন অনুযায়ী আপনি সংশোধন করতে পারেন ...


4
কিভাবে ক্যাচিং? বরং "এটি" এর 4 টি আলাদা jQuery অবজেক্ট তৈরি করা। var পাঠ্য = $ (এটি)। পাঠ্য ();
পিটারসনডিডআইটি

@ পিটারসেন্ডিডট: সম্মত হয়েছি, আমি আমার উত্তরে বলেছি, প্রয়োজন অনুযায়ী তাকে সংশোধন করা দরকার।
সরফরাজ

আরও ভাল: $('#nav, #container, .stretch_footer, #footer').attr('id', $(this).text());.. এখানে আইডি ব্যবহার করা ভাল ধারণা নয়।
নিকফ

এটি কেবল একবারে কাজ করবে, তার পরে আইডি পরিবর্তিত হয় ... এছাড়াও, আপনি একই আইডিগুলি ওভাররাইড করে চলেছেন, যাতে আপনি এটি $('#nav, #container, .stretch_footer, #footer').attr('id', $('span .breadcrumb:first').text())(বা last, .stretch_footer) এর জন্যও করতে পারেন । যাইহোক, এটি অদ্ভুত।
কোবি

27

মনে রাখবেন যে উপাদানটি ইতিমধ্যে রয়েছে এমন কোনও আইডি ওভাররাইট করে:

 $(".element").attr("id","SomeID");

যে কারণ addClassরয়েছে তার কারণ হ'ল কোনও উপাদানের একাধিক ক্লাস থাকতে পারে, তাই আপনি অগত্যা সেট করে থাকা ক্লাসগুলি ওভাররাইট করতে চান না। তবে বেশিরভাগ গুণাবলীর সাথে, কোনও নির্দিষ্ট সময়ে কেবলমাত্র একটি মান অনুমোদিত।



3

যদি আপনি এটি প্রতিস্থাপন না করে 'আইডিতে যুক্ত করতে চান'

প্রথমে বর্তমান আইডিটি ক্যাপচার করুন, তারপরে আপনার নতুন আইডি যুক্ত করুন। টুইটার বুটস্ট্র্যাপের জন্য বিশেষত দরকারী যা তাদের ফর্মগুলিতে ইনপুট স্টেটগুলি ব্যবহার করে।

    new_id = '{{old_id}} inputSuccess';
    old_id = that.attr('id');
    that.attr('id', new_id.replace( /{{old_id}}/ig,old_id));

যদি আপনি তা না করেন - আপনি পূর্ববর্তী যে কোনও সম্পত্তি হারাবেন।

এইচটি,


একটি বৈধ উপাদান শুধুমাত্র একটি আইডি থাকতে পারে। stackoverflow.com/questions/192048/…
কর্নেল ক্লিক করুন

3

আমি কফিসিপিতে এটি করছি

booking_module_time_clock_convert_id = () ->
  if $('.booking_module_time_clock').length
    idnumber = 1
    for a in $('.booking_module_time_clock')
      elementID = $(a).attr("id")
      $(a).attr( 'id', "#{elementID}_#{idnumber}" )
      idnumber++
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.