আমি কীভাবে জাভাস্ক্রিপ্ট দিয়ে কোনও উপাদানটির শ্রেণি পরিবর্তন করতে পারি?


2775

আমি onclickজাভাস্ক্রিপ্ট ব্যবহার করে কোনও ইভেন্টের প্রতিক্রিয়া হিসাবে এইচটিএমএল উপাদানটির একটি শ্রেণি কীভাবে পরিবর্তন করতে পারি ?


28
"শ্রেণীর বৈশিষ্ট্যটি বেশিরভাগই স্টাইল শীটে কোনও শ্রেণীর দিকে নির্দেশ করতে ব্যবহৃত হয় However তবে এটি কোনও জাভা স্ক্রিপ্ট (এইচটিএমএল ডিওএমের মাধ্যমে) নির্দিষ্ট শ্রেণীর সাথে এইচটিএমএল উপাদানগুলিতে পরিবর্তন আনতেও ব্যবহার করতে পারে" " - w3schools.com/tags/att_standard_class.asp
ট্রায়ঙ্কো

11
element.setAttribute(name, value);nameসঙ্গে প্রতিস্থাপন classvalueআপনি ক্লাসটি দিয়ে যা কিছু নাম দিয়েছিলেন তা দিয়ে প্রতিস্থাপন করুন , উদ্ধৃতিগুলিতে আবদ্ধ। এটি বর্তমান ক্লাসটি মুছতে এবং অন্যরকম একটি যুক্ত করার প্রয়োজন এড়ায়। এই jsFizz উদাহরণ সম্পূর্ণ কার্য কোড দেখায়।
অ্যালান ওয়েলস

3
<input type='button' onclick='addNewClass(this)' value='Create' />function addNewClass(elem){ elem.className="newClass";
অন ​​ক্লিকের

@Triynko - W3Schools উপর যে লিঙ্ক সেপ্টেম্বর 2012 সালে মত পরিবর্তিত হয়েছে, কেমন লাগে এখানে 12 / সেপ্টেম্বর / 2012 থেকে Archive.org উপর যে পেজটি হল: এইচটিএমএল ক্লাসটি-W3Schools । এখানে w3schools.com- র প্রতিস্থাপন পৃষ্ঠার লিঙ্কটি রয়েছে: এইচটিএমএল শ্রেণি অ্যাট্রিবিউট-ডাব্লু3 স্কুলগুলি
কেভিন ফেগান

উত্তর:


3878

ক্লাস পরিবর্তন করার জন্য আধুনিক এইচটিএমএল 5 কৌশল

আধুনিক ব্রাউজারগুলি ক্লাসলিস্ট যুক্ত করেছে যা গ্রন্থাগারের প্রয়োজন ছাড়াই ক্লাস পরিচালনা করতে আরও সহজ করার জন্য পদ্ধতি সরবরাহ করে:

document.getElementById("MyElement").classList.add('MyClass');

document.getElementById("MyElement").classList.remove('MyClass');

if ( document.getElementById("MyElement").classList.contains('MyClass') )

document.getElementById("MyElement").classList.toggle('MyClass');

দুর্ভাগ্যক্রমে, v10 এর পূর্বে এগুলি ইন্টারনেট এক্সপ্লোরারে কাজ করে না, যদিও এই পৃষ্ঠা থেকে উপলব্ধ IE8 এবং IE9 এ এর ​​জন্য সমর্থন যোগ করার শিম রয়েছে । এটি যদিও আরও এবং বেশি সমর্থিত হচ্ছে

সাধারণ ক্রস ব্রাউজার সমাধান

কোনও উপাদান নির্বাচন করার জন্য স্ট্যান্ডার্ড জাভাস্ক্রিপ্টের পদ্ধতিটি ব্যবহার করা হচ্ছে document.getElementById("Id"), যা নিম্নলিখিত উদাহরণগুলি ব্যবহার করে - আপনি অবশ্যই অন্যান্য উপায়ে উপাদানগুলি পেতে পারেন, এবং সঠিক পরিস্থিতিতে কেবল তার thisপরিবর্তে ব্যবহার করতে পারেন - তবে, এই সম্পর্কে বিস্তারিতভাবে যাওয়া সুযোগের বাইরে নয় is উত্তর।

কোনও উপাদানটির জন্য সমস্ত শ্রেণি পরিবর্তন করতে:

এক বা একাধিক নতুন ক্লাসের সাথে বিদ্যমান বিদ্যমান ক্লাসগুলিকে প্রতিস্থাপন করতে শ্রেণি নাম বৈশিষ্ট্য নির্ধারণ করুন:

document.getElementById("MyElement").className = "MyClass";

(আপনি একাধিক ক্লাস প্রয়োগ করতে একটি স্পেস-সীমাবদ্ধ তালিকা ব্যবহার করতে পারেন))

একটি উপাদান একটি অতিরিক্ত বর্গ যোগ করতে:

বিদ্যমান মানগুলি অপসারণ / প্রভাবিত না করে কোনও উপাদানকে ক্লাস যুক্ত করতে একটি স্থান এবং নতুন শ্রেণিকাম যুক্ত করুন, এর মতো:

document.getElementById("MyElement").className += " MyClass";

কোনও উপাদান থেকে কোনও শ্রেণি অপসারণ করতে:

একটি উপাদানগুলিতে একটি ক্লাস অপসারণ করতে, অন্যান্য সম্ভাব্য ক্লাসগুলিকে প্রভাবিত না করে, একটি সরল রেজেক্স প্রতিস্থাপনের প্রয়োজন:

document.getElementById("MyElement").className =
   document.getElementById("MyElement").className.replace
      ( /(?:^|\s)MyClass(?!\S)/g , '' )
/* Code wrapped for readability - above is all one statement */

এই রেজেক্সের একটি ব্যাখ্যা নিম্নরূপ:

(?:^|\s) # Match the start of the string, or any single whitespace character

MyClass  # The literal text for the classname to remove

(?!\S)   # Negative lookahead to verify the above is the whole classname
         # Ensures there is no non-space character following
         # (i.e. must be end of string or a space)

gপতাকা বলে প্রয়োজনীয় ক্ষেত্রে বর্গ নাম যোগ করা হয়েছে একাধিক বার যেমন পুনরাবৃত্তি করার প্রতিস্থাপন করুন।

কোনও উপাদানটিতে ইতিমধ্যে শ্রেণি প্রয়োগ করা হয়েছে কিনা তা পরীক্ষা করতে:

কোনও শ্রেণি অপসারণের জন্য উপরে ব্যবহৃত একই রেজেক্সটি কোনও নির্দিষ্ট শ্রেণীর উপস্থিত রয়েছে কিনা তা পরীক্ষা হিসাবে ব্যবহার করা যেতে পারে:

if ( document.getElementById("MyElement").className.match(/(?:^|\s)MyClass(?!\S)/) )


অনক্লিক ইভেন্টগুলিতে এই ক্রিয়াগুলি বরাদ্দ করা হচ্ছে:

এইচটিএমএল ইভেন্টের বৈশিষ্ট্যগুলির মধ্যে সরাসরি জাভাস্ক্রিপ্ট লেখা সম্ভব (যেমন onclick="this.className+=' MyClass'") এটি প্রস্তাবিত আচরণ নয়। বিশেষত বৃহত্তর অ্যাপ্লিকেশনগুলিতে, জাভাস্ক্রিপ্ট ইন্টারঅ্যাকশন যুক্তি থেকে এইচটিএমএল মার্কআপকে আলাদা করে আরও রক্ষণাবেক্ষণযোগ্য কোড অর্জন করা হয়।

এটি অর্জনের প্রথম পদক্ষেপটি একটি ফাংশন তৈরি করা এবং ফাংশনটিকে অনক্লিক বৈশিষ্ট্যে কল করা, উদাহরণস্বরূপ:

<script type="text/javascript">
    function changeClass(){
        // Code examples from above
    }
</script>
...
<button onclick="changeClass()">My Button</button>

(স্ক্রিপ্ট ট্যাগগুলিতে এই কোডটি থাকা দরকার নেই, এটি কেবল উদাহরণস্বরূপ বর্ধনের জন্য, এবং একটি পৃথক ফাইলে জাভাস্ক্রিপ্ট সহ আরও উপযুক্ত হতে পারে))

দ্বিতীয় পদক্ষেপটি হ'ল অনক্লিক ইভেন্টটি HTML থেকে বাইরে এবং জাভাস্ক্রিপ্টে স্থানান্তর করা, উদাহরণস্বরূপ addEventListener ব্যবহার করে

<script type="text/javascript">
    function changeClass(){
        // Code examples from above
    }

    window.onload = function(){
        document.getElementById("MyElement").addEventListener( 'click', changeClass);
    }
</script>
...
<button id="MyElement">My Button</button>

(নোট করুন যে উইন্ডো.অনলোড অংশটি প্রয়োজনীয় যাতে HTML ফোল্ডিং শেষ হওয়ার পরে সেই ফাংশনের বিষয়বস্তু কার্যকর করা যায় - এটি ছাড়া জাভাস্ক্রিপ্ট কোডটি কল করার সময় মাইলেমেন্ট উপস্থিত থাকতে পারে না, সুতরাং সেই লাইনটি ব্যর্থ হয়))


জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক এবং গ্রন্থাগারগুলি

উপরের কোডটি সমস্ত স্ট্যান্ডার্ড জাভাস্ক্রিপ্টে রয়েছে, তবে সাধারণ কাজগুলি সহজ করার জন্য ফ্রেমওয়ার্ক বা লাইব্রেরি ব্যবহার করা যেমন সাধারণ অভ্যাস, তেমনি স্থির বাগ এবং প্রান্তের ক্ষেত্রেও সুবিধা পাবেন যা আপনার কোড লেখার সময় আপনি ভাবেন না।

যদিও কিছু লোকেরা কেবল কোনও শ্রেণি পরিবর্তনের জন্য 50 ডলার কেবি ফ্রেমওয়ার্ক যুক্ত করার জন্য এটি অতিমাত্রায় বিবেচনা করে থাকে, আপনি যদি জাভাস্ক্রিপ্টের যে কোনও পরিমাণ কাজ করছেন বা এমন কিছু যা অস্বাভাবিক ক্রস-ব্রাউজারের আচরণে থাকতে পারে, তা বিবেচনা করা ভাল।

(খুব মোটামুটিভাবে, একটি গ্রন্থাগার একটি নির্দিষ্ট কাজের জন্য নকশাকৃত সরঞ্জামগুলির সেট যা একটি কাঠামোর মধ্যে সাধারণত একাধিক লাইব্রেরি থাকে এবং পুরোপুরি দায়িত্ব পালন করে))

উপরের উদাহরণগুলি নীচে jQuery ব্যবহার করে পুনরুত্পাদন করা হয়েছে , সম্ভবত সর্বাধিক ব্যবহৃত জাভাস্ক্রিপ্ট লাইব্রেরি (যদিও তদন্ত করার মতো আরও কিছু রয়েছে)।

(নোট করুন $এখানে jQuery অবজেক্ট।)

JQuery সহ ক্লাস পরিবর্তন করা:

$('#MyElement').addClass('MyClass');

$('#MyElement').removeClass('MyClass');

if ( $('#MyElement').hasClass('MyClass') )

তদ্ব্যতীত, jQuery কোনও ক্লাস যুক্ত করার জন্য শর্টকাট সরবরাহ করে না যদি এটি প্রয়োগ না হয়, বা এমন কোনও ক্লাস অপসারণ করে যা:

$('#MyElement').toggleClass('MyClass');


JQuery সহ একটি ক্লিক ইভেন্টে একটি ফাংশন বরাদ্দ করা:

$('#MyElement').click(changeClass);

বা, একটি আইডি প্রয়োজন ছাড়াই:

$(':button:contains(My Button)').click(changeClass);



105
দুর্দান্ত উত্তর পিটার। একটি প্রশ্ন ... জাভাস্ক্রিপ্টের চেয়ে জিকুয়ের সাথে কেন করা ভাল ? জিকুয়েরি দুর্দান্ত, তবে আপনার যা করা দরকার তা যদি হয় - জাভাস্ক্রিপ্টের কয়েকটি লাইনের পরিবর্তে পুরো জিক্যুরি লাইব্রে সহ কী যুক্তিযুক্ত?
mattstuehler

23
@ ম্যাটস্টিউহেলার 1) "আরও ভাল এক্স" এর বাক্যাংশটির অর্থ প্রায়শই "আরও ভাল (আপনি পারেন) এক্স" করতে পারেন। 2) বিষয়টির হৃদয় পেতে, jQuery DOM অ্যাক্সেস / পরিচালনা করতে সহায়তা করার জন্য ডিজাইন করা হয়েছে এবং খুব প্রায়শই যদি আপনাকে একবারে সমস্ত জায়গায় এটি করতে হয় তবে আপনাকে এই ধরণের জিনিসটি করতে হবে।
ব্যারি

31
এই সমাধান সহ একটি ত্রুটি: আপনি যখন আপনার বোতামটি একাধিকবার ক্লিক করেন, তখন এটি "মাইক্লাস" এর ক্লাসটি উপাদানটিতে একাধিকবার যুক্ত হবে, এটি ইতিমধ্যে বিদ্যমান কিনা তা পরীক্ষা না করে। সুতরাং আপনি এইচটিএমএল শ্রেণির বৈশিষ্ট্যটির মতো দেখতে কিছুটা শেষ করতে পারেন:class="button MyClass MyClass MyClass"
Web_Designer

35
আপনি যদি কোনও ক্লাস 'মাইক্লাস' অপসারণের চেষ্টা করছেন এবং আপনার একটি শ্রেণি 'উপসর্গ-মাইক্লাস' রয়েছে তবে আপনি ক্লাস অপসারণের জন্য উপরের রেজেক্সটি আপনার ক্লাসে 'উপসর্গ-' রেখে চলেছেন নাম: ও
জিঙ্গলেস্তুলা

16
বাহ, তিন বছর এবং 183 আপভোট এবং এখনও পর্যন্ত কেউ তা স্পষ্ট করে নি। ধন্যবাদ জিঙ্গলেস্টুলা, আমি রেইগেক্স সংশোধন করেছি যাতে এটি শ্রেণীর নামের অংশগুলি ভুলভাবে মুছে ফেলতে পারে। // আমার ধারণা এটি ফ্রেমওয়ার্ক (jQuery এর মতো) কেন ব্যবহারের জন্য উপযুক্ত - এটির মতো বাগগুলি যত তাড়াতাড়ি ধরা পড়ে এবং ঠিক করা হয়, এবং সাধারণ কোডে পরিবর্তন প্রয়োজন হয় না।
পিটার বুটন

422

আপনি ঠিক করতে পারেন:

document.getElementById('id').classList.add('class');
document.getElementById('id').classList.remove('class');

এবং একটি ক্লাস টগল করতে (এটি উপস্থিত থাকলে তা অপসারণ করুন):

document.getElementById('id').classList.toggle('class');

63
আমি বিশ্বাস করি এটি HTML5 নির্ভর।
জন

12
আপনার এলি classListগ্রির শিম লাগবে ।
এলিওটিটিসিবল

15
মোজিলা বিকাশকারী নেটওয়ার্ক জানিয়েছে যে এটি স্থানীয়ভাবে 10 এর চেয়ে কম ইন্টারনেট এক্সপ্লোরারগুলিতে কাজ করে না I আমি আমার পরীক্ষায় বিবৃতিটি সত্য বলে মনে করি। স্পষ্টতই, এলি গ্রে শিমটি ইন্টারনেট এক্সপ্লোরার 8-9 এর জন্য প্রয়োজনীয়। দুর্ভাগ্যক্রমে, আমি তার সাইটে এটি সন্ধান করতে পারি না (এমনকি অনুসন্ধানের পরেও)। শিমটি মজিলা লিঙ্কে উপলব্ধ।
ডাবলজে


4
IE10 + এ "শ্রেণি তালিকা" এর আংশিক সমর্থন রয়েছে; অপেরা মিনি জন্য কোন সমর্থন; বাকি স্ট্যান্ডার্ড ব্রাউজারগুলিতে সম্পূর্ণ সমর্থন: caniuse.com/#search=classlist
নিক হামফ্রে

119

আমার পুরানো একটি প্রকল্পে যা jQuery ব্যবহার করে না, আমি উপাদানগুলির শ্রেণি আছে কিনা তা যোগ করতে, অপসারণ ও পরীক্ষা করার জন্য নিম্নলিখিত ফাংশনগুলি তৈরি করেছি:

function hasClass(ele, cls) {
    return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}
function addClass(ele, cls) {
    if (!hasClass(ele, cls)) ele.className += " " + cls;
}
function removeClass(ele, cls) {
    if (hasClass(ele, cls)) {
        var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
        ele.className = ele.className.replace(reg, ' ');
    }
}

সুতরাং, উদাহরণস্বরূপ, আমি onclickবোতামটিতে কিছু শ্রেণি যুক্ত করতে চাইলে আমি এটি ব্যবহার করতে পারি:

<script type="text/javascript">
    function changeClass(btn, cls) {
        if(!hasClass(btn, cls)) {
            addClass(btn, cls);
        }
    }
</script>
...
<button onclick="changeClass(this, "someClass")">My Button</button>

এখনই নিশ্চিতভাবে jQuery ব্যবহার করা আরও ভাল।


8
যখন আপনার ক্লায়েন্ট আপনাকে jQuery ব্যবহার করতে দেয় না তখন এটি দুর্দান্ত। (আপনার নিজের লাইব্রেরিটি প্রায় শেষ করার কারণেই))
মাইক

1
@ মাইক যদি ক্লায়েন্ট আপনাকে jQuery ব্যবহার করতে না দেয়, তবে আপনি কেবল নিজের লাইব্রেরিতে প্রয়োজনীয় বৈশিষ্ট্যগুলি পুনরায় তৈরি করতে এবং পুনর্নির্মাণ করতে পারবেন না?
kfrncs

5
@kfrncs কারণ আমার সাধারণত এত বড় কাঠামোর দরকার হয় না। আমি যে প্রকল্পটির কথা ভাবছিলাম তার জন্য কেবলমাত্র আমার প্রয়োজনীয় ফাংশনগুলি ছিল 3 ক্লাসের নাম (রয়েছে, যোগ করুন, অপসারণ) ফাংশন এবং কুকি (রয়েছে, যোগ করুন, সরান) ফাংশন। অন্য সব কিছুই হয় কাস্টম, বা স্থানীয়ভাবে সমর্থিত। সুতরাং একসাথে সমস্ত কিছু ছিল কমেন্ট করার আগে মাইনাইফ করার আগে কেবল 150 লাইন।
মাইক

2
বন্ধু, সকাল 4 টা এবং অনেক ধন্যবাদ। ভ্যানিলা জেএস হ'ল আমরা আমাদের প্রকল্পে যা ব্যবহার করি এটি ছিল জীবন রক্ষাকারী।
লেসকিউসার

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

77

আপনি এর node.classNameমতো ব্যবহার করতে পারেন :

document.getElementById('foo').className = 'bar';

এটি আইপি 5.5 এ এবং পিপিকে অনুসারে কাজ করা উচিত ।


11
এটি বস্তুটিতে যে কোনও এবং সমস্ত শ্রেণীর উপরে ওভাররাইট করবে ... সুতরাং এটি এত সহজ নয়।
এরিক সেবাস্তা

51

বাহ, অবাক করা এখানে অনেক বেশি ওভারকিল উত্তর রয়েছে ...

<div class="firstClass" onclick="this.className='secondClass'">

14
আমি বলব যে আপত্তিজনক জাভাস্ক্রিপ্ট উদাহরণ কোড লেখার জন্য ভয়ানক অনুশীলন ...
গাবে

22
আমি দ্বিমত পোষণ করব, কারণ আমি মনে করি উদাহরণ কোডটি একটি ভাল উদাহরণ স্থাপন করা উচিত।
থোমাসরুতার

1
একটি ভাল উদাহরণ একই সময়ে কল্পনা নির্দেশ এবং স্পার্ক করা উচিত। এটি চিন্তার প্রতিস্থাপন করা উচিত নয়, তবে এটি অনুপ্রাণিত করে।
অ্যান্টনি রুটলেজ

4
অন্যান্য উত্তরগুলি অত্যধিক কিল নয়, তারা বিদ্যমান ক্লাসগুলিকে উপাদানটিতে রাখে।
gcampbell

47

খাঁটি জাভাস্ক্রিপ্ট কোড ব্যবহার:

function hasClass(ele, cls) {
    return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}

function addClass(ele, cls) {
    if (!this.hasClass(ele, cls)) ele.className += " " + cls;
}

function removeClass(ele, cls) {
    if (hasClass(ele, cls)) {
        var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
        ele.className = ele.className.replace(reg, ' ');
    }
}

function replaceClass(ele, oldClass, newClass){
    if(hasClass(ele, oldClass)){
        removeClass(ele, oldClass);
        addClass(ele, newClass);
    }
    return;
}

function toggleClass(ele, cls1, cls2){
    if(hasClass(ele, cls1)){
        replaceClass(ele, cls1, cls2);
    }else if(hasClass(ele, cls2)){
        replaceClass(ele, cls2, cls1);
    }else{
        addClass(ele, cls1);
    }
}

33

এটি আমার পক্ষে কাজ করছে:

function setCSS(eleID) {
    var currTabElem = document.getElementById(eleID);

    currTabElem.setAttribute("class", "some_class_name");
    currTabElem.setAttribute("className", "some_class_name");
}

দুর্দান্ত উত্তর! স্রেফ যোগ করার জন্য বাম: শ্রেণীর উপাদানগুলির একটি গ্রুপের জন্য একটি শৈলী নির্দিষ্ট করতে নির্বাচকের জন্য প্রতিটি সিএসএস শ্রেণীর নাম নির্ধারণ করুন
রোমান পোলান।

এটি আমার জন্য এফএফ-তে কাজ করে, তবে যখন আমি এল.সি.এল.নাম = "নিউস্টাইল" ব্যবহার করার চেষ্টা করেছি; এটা কাজ করেনি, কেন?
লুকাসজ 'সেভেরিয়ান' গ্রিলা

1
আপনি ব্যবহার করতে পারেন el.setAttribute('class', newClass)বা আরও ভাল el.className = newClass। কিন্তু না el.setAttribute('className', newClass)
ওরিওল

20

পাশাপাশি আপনি HTMLElement বস্তুর প্রসারিত করতে পারে, যুক্ত করতে, সরাতে, টগল এবং চেক শ্রেণীর (পদ্ধতি যোগ করতে চাইলে সারকথা ):

HTMLElement = typeof(HTMLElement) != 'undefiend' ? HTMLElement : Element;

HTMLElement.prototype.addClass = function(string) {
  if (!(string instanceof Array)) {
    string = string.split(' ');
  }
  for(var i = 0, len = string.length; i < len; ++i) {
    if (string[i] && !new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)').test(this.className)) {
      this.className = this.className.trim() + ' ' + string[i];
    }
  }
}

HTMLElement.prototype.removeClass = function(string) {
  if (!(string instanceof Array)) {
    string = string.split(' ');
  }
  for(var i = 0, len = string.length; i < len; ++i) {
    this.className = this.className.replace(new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)'), ' ').trim();
  }
}

HTMLElement.prototype.toggleClass = function(string) {
  if (string) {
    if (new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className)) {
      this.className = this.className.replace(new RegExp('(\\s+|^)' + string + '(\\s+|$)'), ' ').trim();
    } else {
      this.className = this.className.trim() + ' ' + string;
    }
  }
}

HTMLElement.prototype.hasClass = function(string) {
  return string && new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className);
}

এবং তারপরে এই জাতীয় ব্যবহার করুন (ক্লিক এ ক্লাস যুক্ত বা সরিয়ে দেবে):

document.getElementById('yourElementId').onclick = function() {
  this.toggleClass('active');
}

এখানে ডেমো রয়েছে


1
এটি একটি সামান্য ভার্বোজ
শূন্য_কুল

5
দুঃখিত @ জ্যাকসন_স্যান্ডল্যান্ড তবে আপনি পয়েন্টটি পুরোপুরি মিস করেছেন, যা jQuery মোটেও ব্যবহার করা নয়।
মোক

17

গুগল ক্লোজার, অন্য একটি জনপ্রিয় ফ্রেমওয়ার্ক থেকে তথ্য যুক্ত করতে তাদের ডোম / ক্লাস শ্রেণি দেখুন:

goog.dom.classes.add(element, var_args)

goog.dom.classes.addRemove(element, classesToRemove, classesToAdd)

goog.dom.classes.remove(element, var_args)

উপাদান নির্বাচন করার জন্য একটি বিকল্প হ'ল CSS3 নির্বাচক সহ goog.dom.query ব্যবহার করা :

var myElement = goog.dom.query("#MyElement")[0];

14

পূর্ববর্তী রেজিজেসে কয়েকটি ছোট ছোট নোট এবং টুইটগুলি:

ক্লাস তালিকার একাধিকবার ক্লাসের নাম থাকলে আপনি বিশ্বব্যাপী এটি করতে চাইবেন। এবং, আপনি সম্ভবত ক্লাস তালিকার প্রান্ত থেকে ফাঁকা স্থানগুলি ফাঁকা করতে এবং একাধিক স্পেসকে একটি স্পেসে রূপান্তর করতে চান যাতে স্থান ফাঁকানো থেকে রক্ষা পাওয়া যায়। ক্লাসের নামগুলির সাথে ডিংক করার একমাত্র কোডটি নীচের রেজেক্স ব্যবহার করে এবং নাম যুক্ত করার আগে এটি সরিয়ে ফেললে এই বিষয়গুলির কোনওটিরই সমস্যা হওয়া উচিত নয়। কিন্তু। ভাল, কে জানে যে সম্ভবত শ্রেণীর নাম তালিকার সাথে ডিন্ক করছে।

এই রেজেক্সটি কেস সংবেদনশীল, যাতে শ্রেণীর নামের ক্ষেত্রে কোডগুলি ব্রাউজারে ব্যবহার করার আগে শ্রেণীর নামগুলিতে বাগগুলি প্রদর্শিত হতে পারে যা শ্রেণীর নামের ক্ষেত্রে কেস দেয় না।

var s = "testing   one   four  one  two";
var cls = "one";
var rg          = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "test";
var rg          = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "testing";
var rg          = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "tWo";
var rg          = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");

13

এএসপি.নেটে জাভাস্ক্রিপ্ট সহ কোনও এলিমেন্টের সিএসএস শ্রেণি পরিবর্তন করুন :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        lbSave.Attributes.Add("onmouseover", "this.className = 'LinkButtonStyle1'")
        lbSave.Attributes.Add("onmouseout", "this.className = 'LinkButtonStyle'")
        lbCancel.Attributes.Add("onmouseover", "this.className = 'LinkButtonStyle1'")
        lbCancel.Attributes.Add("onmouseout", "this.className = 'LinkButtonStyle'")
    End If
End Sub

13

আমি jQuery ব্যবহার করব এবং এরকম কিছু লিখব:

jQuery(function($) {
    $("#some-element").click(function() {
        $(this).toggleClass("clicked");
    });
});

এই কোড যখন আইডি একটি উপাদান একটি ফাংশন বলা যেতে যোগ কিছু-উপাদানের এ ক্লিক করেছেন। ফাংশনটি উপাদানটির শ্রেণীর অ্যাট্রিবিউটে ক্লিক করা সংযোজন হয়েছে যদি এটি ইতিমধ্যে এর অংশ না থাকে এবং এটি সেখানে থাকলে তা সরিয়ে দেয়।

হ্যাঁ এই কোডটি ব্যবহার করার জন্য আপনার পৃষ্ঠায় jQuery লাইব্রেরিতে একটি রেফারেন্স যুক্ত করতে হবে তবে কমপক্ষে আপনি আত্মবিশ্বাসী বোধ করতে পারেন লাইব্রেরির সর্বাধিক কার্যগুলি সমস্ত আধুনিক ব্রাউজারগুলিতে কাজ করবে এবং এটি কার্যকর করার সময় সাশ্রয় করবে আপনার নিজস্ব কোড একই করতে।

ধন্যবাদ


8
আপনাকে কেবল jQueryতার দীর্ঘ আকারে একবার লিখতে হবে । jQuery(function($) { });তোলে $প্রাপ্তিসাধ্য ভিতরে সব ক্ষেত্রেই ফাংশন।
চোরমাস্টার

10

লাইন

document.getElementById("MyElement").className = document.getElementById("MyElement").className.replace(/\bMyClass\b/','')

হতে হবে:

document.getElementById("MyElement").className = document.getElementById("MyElement").className.replace('/\bMyClass\b/','');

8
ত্রুটিপূর্ণ. RegEx ফরোয়ার্ড স্ল্যাশ দ্বারা অঙ্কিত হয়। কোট যোগ করা এটি আইইতে ব্যর্থ হওয়ার কারণ, শ্রেণীর স্ট্রিংটি আপনি ক্লাসটি সরিয়ে না দেওয়ার পরিবর্তে মুছে ফেলার চেষ্টা করছেন returning
ডিলান

9

আই 6 সমর্থন সহ ভ্যানিলা জাভাস্ক্রিপ্টে একটি মৌলের শ্রেণি পরিবর্তন করুন

আপনি attributesপুরানো ব্রাউজারগুলি এমনকি আই 6 এর সাথে সামঞ্জস্য রাখতে নোড সম্পত্তি ব্যবহার করার চেষ্টা করতে পারেন :

function getClassNode(element) {
  for (var i = element.attributes.length; i--;)
    if (element.attributes[i].nodeName === 'class')
      return element.attributes[i];
}

function removeClass(classNode, className) {
  var index, classList = classNode.value.split(' ');
  if ((index = classList.indexOf(className)) > -1) {
    classList.splice(index, 1);
    classNode.value = classList.join(' ');
  }
}

function hasClass(classNode, className) {
  return classNode.value.indexOf(className) > -1;
}

function addClass(classNode, className) {
  if (!hasClass(classNode, className))
    classNode.value += ' ' + className;
}

document.getElementById('message').addEventListener('click', function() {
  var classNode = getClassNode(this);
  var className = hasClass(classNode, 'red') && 'blue' || 'red';

  removeClass(classNode, 'red');
  removeClass(classNode, 'blue');

  addClass(classNode, className);
})
.red {
  color: red;
}
.red:before {
  content: 'I am red! ';
}
.red:after {
  content: ' again';
}
.blue {
  color: blue;
}
.blue:before {
  content: 'I am blue! '
}
<span id="message" class="">Click me</span>


8

এখানে আমার সংস্করণটি সম্পূর্ণরূপে কাজ করছে:

function addHTMLClass(item, classname) {
    var obj = item
    if (typeof item=="string") {
        obj = document.getElementById(item)
    }
    obj.className += " " + classname
}

function removeHTMLClass(item, classname) {
    var obj = item
    if (typeof item=="string") {
        obj = document.getElementById(item)
    }
    var classes = ""+obj.className
    while (classes.indexOf(classname)>-1) {
        classes = classes.replace (classname, "")
    }
    obj.className = classes
}

ব্যবহার:

<tr onmouseover='addHTMLClass(this,"clsSelected")'
onmouseout='removeHTMLClass(this,"clsSelected")' >

4
foobarআপনি ক্লাস অপসারণ করার চেষ্টা করলে এটি ক্লাস ভাঙবে foo। অভ্যন্তরীণ ইভেন্ট হ্যান্ডলার বৈশিষ্ট্যের জেএস সম্পাদনা করার আগে ভেঙে দেওয়া হয়েছিল। 4 বছরের পুরানো স্বীকৃত উত্তরটি আরও ভাল।
কোয়ান্টিন

1
ধন্যবাদ, আমি এটিকে ঠিক করেছি (উপসর্গের সমস্যা নয়)। এটি পুরানো স্বীকৃত উত্তর যা রেজিপ্সপ সহ একটি বাগ আছে।
আলফ্রেড

কোডটিতে এখনও foobarসমস্যা আছে। পরীক্ষাটি এখানে দেখুন
rosell.dk

8

উপাদানটির উপর একটি শ্রেণি টগল / যোগ / সরিয়ে ফেলতে এখানে একটি টগলক্লাস রয়েছে:

// If newState is provided add/remove theClass accordingly, otherwise toggle theClass
function toggleClass(elem, theClass, newState) {
    var matchRegExp = new RegExp('(?:^|\\s)' + theClass + '(?!\\S)', 'g');
    var add=(arguments.length>2 ? newState : (elem.className.match(matchRegExp) == null));

    elem.className=elem.className.replace(matchRegExp, ''); // clear all
    if (add) elem.className += ' ' + theClass;
}

দেখতে jsfiddle

গতিশীলভাবে একটি নতুন শ্রেণি তৈরির জন্য আমার উত্তরটি এখানে দেখুন


6

আমি আমার কোডে নিম্নলিখিত ভ্যানিলা জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করি। তারা নিয়মিত এক্সপ্রেশন ব্যবহার করে তবে নিয়মিত অভিব্যক্তিগুলিতে indexOfবিশেষ অক্ষর উদ্ধৃত করার প্রয়োজন হয় না।

function addClass(el, cn) {
    var c0 = (" " + el.className + " ").replace(/\s+/g, " "),
        c1 = (" " + cn + " ").replace(/\s+/g, " ");
    if (c0.indexOf(c1) < 0) {
        el.className = (c0 + c1).replace(/\s+/g, " ").replace(/^ | $/g, "");
    }
}

function delClass(el, cn) {
    var c0 = (" " + el.className + " ").replace(/\s+/g, " "),
        c1 = (" " + cn + " ").replace(/\s+/g, " ");
    if (c0.indexOf(c1) >= 0) {
        el.className = c0.replace(c1, " ").replace(/\s+/g, " ").replace(/^ | $/g, "");
    }
}

আপনি আধুনিক ব্রাউজারগুলিতে এলিমেন্ট.ক্লাসলিস্টও ব্যবহার করতে পারেন ।


3

বিকল্পগুলি

আপনার কাছে কী কী অপশন উপলব্ধ রয়েছে এবং classListকী চান তা করতে কীভাবে ব্যবহার করতে হয় তা জানতে আপনাকে ক্লাসলিস্টের তুলনায় এখানে একটি ছোট স্টাইল দেওয়া হয়েছে is

style বনাম classList

মধ্যে পার্থক্য styleএবং classListযে সাথে আছেন styleআপনি উপাদান শৈলী বৈশিষ্ট্য যোগ করছি, কিন্তু classListধরণ বর্গ উপাদান (গুলি) নিয়ন্ত্রণ করছে ( add, remove, toggle, contain), আমি তোমাকে কিভাবে ব্যবহার করতে দেখা যাবে addএবং removeসেই থেকে পদ্ধতি আছে জনপ্রিয়।


স্টাইল উদাহরণ

আপনি যদি margin-topকোনও উপাদানগুলিতে সম্পত্তি যুক্ত করতে চান তবে আপনি এগুলি করতে পারেন :

// Get the Element
const el = document.querySelector('#element');

// Add CSS property 
el.style.margintop = "0px"
el.style.margintop = "25px" // This would add a 25px to the top of the element.

ক্লাসলিস্ট উদাহরণ

ধরা যাক আমাদের একটি আছে <div class="class-a class-b">, এই ক্ষেত্রে, আমরা ইতিমধ্যে আমাদের ডিভ উপাদানটিতে 2 টি ক্লাস যুক্ত করেছি class-aএবং class-b, এবং আমরা কোন ক্লাসগুলি removeএবং কোন শ্রেণিতে কী তা নিয়ন্ত্রণ করতে চাই add। এখানেই classListসুবিধাজনক হয়ে ওঠে।

অপসারণ class-b

// Get the Element
const el = document.querySelector('#element');

// Remove class-b style from the element
el.classList.remove("class-b")

যোগ class-c

// Get the Element
const el = document.querySelector('#element');

// Add class-b style from the element
el.classList.add("class-c")


1

ভেবেছিলাম আমি এটিকে ফেলে দেব:

function inArray(val, ary){
  for(var i=0,l=ary.length; i<l; i++){
    if(ary[i] === val){
      return true;
    }
  }
  return false;
}
function removeClassName(classNameS, fromElement){
  var x = classNameS.split(/\s/), s = fromElement.className.split(/\s/), r = [];
  for(var i=0,l=s.length; i<l; i++){
    if(!iA(s[i], x))r.push(s[i]);
  }
  fromElement.className = r.join(' ');
}
function addClassName(classNameS, toElement){
  var s = toElement.className.split(/\s/);
  s.push(c); toElement.className = s.join(' ');
}

1

myElement.classList="new-class"আপনি যদি অন্য বিদ্যমান ক্লাস বজায় রাখতে না চান তবে কেবল বলুন যে ক্ষেত্রে আপনি classList.add, .removeপদ্ধতিগুলি ব্যবহার করতে পারেন ।

var doc = document;
var divOne = doc.getElementById("one");
var goButton = doc.getElementById("go");

goButton.addEventListener("click", function() {
  divOne.classList="blue";
});
div{
  min-height:48px;
  min-width:48px;
}
.bordered{
  border: 1px solid black;
}
.green{
  background:green;
}
.blue{
  background: blue;
}
<button id="go">Change Class</button>

<div id="one" class="bordered green">

</div>


1

ঠিক আছে, আমি মনে করি এই ক্ষেত্রে আপনার jQuery ব্যবহার করা উচিত বা খাঁটি জাভাস্ক্রিপ্টে আপনার নিজস্ব পদ্ধতি লিখতে হবে, আমার পছন্দটি যদি অন্য কারণে আমার প্রয়োজন না হয় তবে আমার অ্যাপ্লিকেশনটিতে সমস্ত jQuery ইনজেক্ট করার চেয়ে আমার নিজস্ব পদ্ধতি যুক্ত করছে।

আমি আমার জাভাস্ক্রিপ্ট কাঠামোতে পদ্ধতিগুলির মতো নীচের মতো কিছু করতে চাই যাতে কিছু কার্যকারিতা যুক্ত হয় যা ক্লাস যুক্ত করা, ক্লাস মুছতে, ইত্যাদি jQuery এর মতো হ্যান্ডেল করে থাকে, এটি আইই 9+ এ সম্পূর্ণ সমর্থনযোগ্য, এছাড়াও আমার কোডটি ES6 তে লেখা আছে, সুতরাং আপনার প্রয়োজন আপনার ব্রাউজারটি এটি সমর্থন করে বা আপনি বাবেলের মতো কিছু ব্যবহার করছেন তা নিশ্চিত করার জন্য, অন্যথায় আপনার কোডেও ES5 সিনট্যাক্স ব্যবহার করা দরকার, আমরা আইডির মাধ্যমে উপাদানটি খুঁজে পাই, যার অর্থ উপাদানটির একটি আইডি নির্বাচন করা দরকার:

//simple javascript utils for class management in ES6
var classUtil = {

  addClass: (id, cl) => {
    document.getElementById(id).classList.add(cl);
  },

  removeClass: (id, cl) => {
    document.getElementById(id).classList.remove(cl);
  },

  hasClass: (id, cl) => {
    return document.getElementById(id).classList.contains(cl);
  },

  toggleClass: (id, cl) => {
    document.getElementById(id).classList.toggle(cl);
  }

}

এবং আপনি এগুলিকে কেবল নীচে হিসাবে ব্যবহার করতে কল করতে পারেন, ধারণা করুন যে আপনার উপাদানটির আইডি রয়েছে এবং 'শ্রেণি' শ্রেণীর শ্রেণি রয়েছে, নিশ্চিত হয়ে নিন যে আপনি সেগুলি স্ট্রিং হিসাবে পাস করেছেন, আপনি নীচের মতো ব্যবহার করতে পারেন:

classUtil.addClass('myId', 'myClass');
classUtil.removeClass('myId', 'myClass');
classUtil.hasClass('myId', 'myClass');
classUtil.toggleClass('myId', 'myClass');

1

classList DOM এপিআই:

ক্লাস যুক্ত এবং অপসারণের একটি খুব সুবিধাজনক পদ্ধতি হ'ল classListডম এপিআই। জাভাস্ক্রিপ্ট ব্যবহার করে তালিকাটি সংশোধন করতে এই এপিআই আমাদের একটি নির্দিষ্ট ডিওএম উপাদানটির সমস্ত শ্রেণি নির্বাচন করার অনুমতি দেয়। উদাহরণ স্বরূপ:

const el = document.getElementById("main");
console.log(el.classList);
<div class="content wrapper animated" id="main"></div>

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

উদাহরণ:

const el = document.getElementById('container');


function addClass () {
   el.classList.add('newclass');
}


function replaceClass () {
     el.classList.replace('foo', 'newFoo');
}


function removeClass () {
       el.classList.remove('bar');
}
button{
  margin: 20px;
}

.foo{
  color: red;
}

.newFoo {
  color: blue;
}

.bar{
  background-color:powderblue;
}

.newclass{
  border: 2px solid green;
}
<div class="foo bar" id="container">
  "Sed ut perspiciatis unde omnis 
  iste natus error sit voluptatem accusantium doloremque laudantium, 
  totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et 
  quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam 
  voluptatem quia voluptas 
 </div>
  
<button onclick="addClass()">AddClass</button>
  
<button onclick="replaceClass()">ReplaceClass</button>
  
<button onclick="removeClass()">removeClass</button>
  


1

হ্যাঁ এটি করার অনেকগুলি উপায় রয়েছে। ES6 সিনট্যাক্সে আমরা সহজেই অর্জন করতে পারি। এই কোড টগল অ্যাড এবং ক্লাস অপসারণ ব্যবহার করুন।

const tabs=document.querySelectorAll('.menu li');

for(let tab of tabs){
  
  tab.onclick=function(){
    
  let activetab=document.querySelectorAll('li.active');
    
  activetab[0].classList.remove('active')
  
    tab.classList.add('active'); 
  }
  
}
body {
    padding:20px;
    font-family:sans-serif;    
}

ul {
    margin:20px 0;
    list-style:none;
}

li {
    background:#dfdfdf;
    padding:10px;
    margin:6px 0;
    cursor:pointer;
}

li.active {
    background:#2794c7;
    font-weight:bold;
    color:#ffffff;
}
<i>Please click an item:</i>

<ul class="menu">
  <li class="active"><span>Three</span></li>
  <li><span>Two</span></li>
  <li><span>One</span></li>
</ul>


1
function classed(el, class_name, add_class) {
  const re = new RegExp("(?:^|\\s)" + class_name + "(?!\\S)", "g");
  if (add_class && !el.className.match(re)) el.className += " " + class_name
  else if (!add_class) el.className = el.className.replace(re, '');
}

উপরে গৃহীত উত্তরটি ব্যবহার করে ক্লাস যুক্ত করতে এবং সরানোর জন্য একটি সাধারণ ক্রস ব্রাউজার ফাংশন

ক্লাস যুক্ত করুন:

classed(document.getElementById("denis"), "active", true)

ক্লাস অপসারণ:

classed(document.getElementById("denis"), "active", false)

1

প্রচুর উত্তর, প্রচুর ভাল উত্তর।

টিএল; ডিআর:

document.getElementById('id').className = 'class'

অথবা

document.getElementById('id').classList.add('class');
document.getElementById('id').classList.remove('class');

এটাই.

এবং, যদি আপনি সত্যিই কেন জানতে চান এবং নিজেকে শিক্ষিত করতে চান তবে আমি পিটার বুটনের উত্তরটি পড়ার পরামর্শ দিচ্ছি , এটি নিখুঁত।

দ্রষ্টব্য:
এটি ( দস্তাবেজ বা ইভেন্ট ) দিয়ে সম্ভব :

  • getElementById()
  • getElementsByClassName()
  • querySelector()
  • querySelectorAll()

1

একটা সম্পত্তি classname জাভাস্ক্রিপ্ট মধ্যে একটি HTML উপাদান ক্লাসের নাম পরিবর্তন করতে। বিদ্যমান শ্রেণীর মানটি নতুন দ্বারা পরিবর্তিত হবে, যা আপনি ক্লাসনেমে নির্ধারিত করেছেন।

<!DOCTYPE html>
<html>
<head>
<title>How to change class of an HTML element in Javascript?</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<h1 align="center"><i class="fa fa-home" id="icon"></i></h1><br />

<center><button id="change-class">Change Class</button></center>

<script>
var change_class=document.getElementById("change-class");
change_class.onclick=function()
{
    var icon=document.getElementById("icon");
    icon.className="fa fa-gear";
}

</script>
</body>
</html>

ক্রেডিট - https://jaischool.com/javascript-lang/how-to-change-class-name-of-an-html-element-in-javascript.html


1

ওপি প্রশ্নটি ছিল আমি কীভাবে জাভাস্ক্রিপ্ট দিয়ে কোনও উপাদানটির শ্রেণি পরিবর্তন করতে পারি?

আধুনিক ব্রাউজারগুলি জাভাস্ক্রিপ্টের এক লাইনের সাহায্যে এটি করার অনুমতি দেয় :

document.getElementById('id').classList.replace('span1','span2')

classListঅ্যাট্রিবিউটে একটি DOMTokenList যা হয়েছে উপলব্ধ পদ্ধতির বিভিন্ন । আপনি অ্যাড () , মুছে ফেলা () বা প্রতিস্থাপন () এর মতো সহজ ম্যানিপুলেশন ব্যবহার করে কোনও উপাদানটির ক্লাসলিস্টে পরিচালনা করতে পারেন । অথবা খুব পরিশীলিত এবং ক্লাসগুলি এমনভাবে পরিচালনা করুন যাতে আপনি কোনও বস্তু বা কী () , মান () , এন্ট্রি () সহ মানচিত্র তৈরি করতে পারেন

পিটার বুটনের উত্তর দুর্দান্ত তবে এটি এখন এক দশকেরও বেশি পুরানো। সমস্ত আধুনিক ব্রাউজার এখন DOMTokenList সমর্থন করে - https://caniuse.com/#search=classList দেখুন এবং এমনকি আই 1111 কিছু DOMTokenList পদ্ধতি সমর্থন করে


1

চেষ্টা

element.className='second'


-2

ওয়ার্কিং জাভাস্ক্রিপ্ট কোড:

<div id="div_add" class="div_add">Add class from Javascript</div>
<div id="div_replace" class="div_replace">Replace class from Javascript</div>
<div id="div_remove" class="div_remove">Remove class from Javascript</div>
<button onClick="div_add_class();">Add class from Javascript</button>
<button onClick="div_replace_class();">Replace class from Javascript</button>
<button onClick="div_remove_class();">Remove class from Javascript</button>
<script type="text/javascript">
    function div_add_class()
    {
        document.getElementById("div_add").className += " div_added";
    }
    function div_replace_class()
    {
        document.getElementById("div_replace").className = "div_replaced";
    }
    function div_remove_class()
    {
        document.getElementById("div_remove").className = "";
    }
</script>

আপনি এই লিঙ্ক থেকে একটি ওয়ার্কিং কোড ডাউনলোড করতে পারেন ।


1
এটি একাধিক শ্রেণীর সাথে উপাদানগুলি ভেঙে দেবে।
gcampbell

-4

এটি করার জন্য এখানে সহজ jQuery কোড is

$(".class1").click(function(argument) {
    $(".parentclass").removeClass("classtoremove");
    setTimeout(function (argument) {
        $(".parentclass").addClass("classtoadd");
    }, 100);
});

এখানে,

  • ক্লাস 1 একটি ইভেন্টের শ্রোতা।
  • প্যারেন্ট ক্লাসটি এমন একটি ক্লাস যা আপনি যে ক্লাসটি পরিবর্তন করতে চান তা হোস্ট করে
  • ক্লাসস্টোরমোভ আপনার কাছে পুরানো শ্রেণি।
  • ক্লাস যুক্ত করতে হ'ল নতুন ক্লাসটি আপনি যুক্ত করতে চান।
  • 100 হ'ল সময়সীমা বিলম্ব হয় যার সময় ক্লাস পরিবর্তন করা হয়।

শুভকামনা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.