কীভাবে jQuery / জাভাস্ক্রিপ্ট ব্যবহার করে সমস্ত CSS ক্লাস সরিয়ে ফেলবেন?


778

$("#item").removeClass()প্রতিটি উপাদানকে স্বতন্ত্রভাবে কল করার পরিবর্তে কোনও উপাদান থাকতে পারে, সেখানে কি এমন একটি ফাংশন বলা যেতে পারে যা প্রদত্ত উপাদান থেকে সমস্ত সিএসএস শ্রেণিকে সরিয়ে দেয়?

উভয় jQuery এবং কাঁচা জাভাস্ক্রিপ্ট কাজ করবে।

উত্তর:


1509
$("#item").removeClass();

removeClassকোনও প্যারামিটার না দিয়ে কল করা আইটেমের সমস্ত ক্লাস সরিয়ে ফেলবে।


আপনি এটিও ব্যবহার করতে পারেন (তবে প্রয়োজনীয়ভাবে প্রস্তাবিত নয়, উপরেরটিটি সঠিক পদ্ধতি):

$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';

যদি আপনার কাছে jQuery না থাকে, তবে এটি আপনার একমাত্র বিকল্প হতে পারে:

document.getElementById('item').className = '';

7
attr()সংস্করণটি prop()এখন হওয়া উচিত নয় ?
মাইকে

7
পরামিতি ছাড়াই অপসারণের ক্লাস () কল করা আর 1.11.1 সংস্করণে আর কাজ করবে বলে মনে হচ্ছে না
ভিনসেন্ট

1
@ ভিনসেন্ট jQuery এ প্রবর্তিত বাগের মতো বলে মনে হচ্ছে যেহেতু তাদের ডকুমেন্টেশনে স্পষ্টভাবে বলা আছে: If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no class names are specified in the parameter, all classes will be removed. api.jquery.com/removeclass
নাস্তিকপি 3ace

হ্যাঁ, আমি সন্দেহ করি এটি একটি বাগ, নকশার দ্বারা নয়। ইতিমধ্যে, নিম্নলিখিত খাঁটি জাভাস্ক্রিপ্ট ঠিক কাজ করে। document.getElementById ( "আইটেম") removeAttribute ( "বর্গ")।
ভিনসেন্ট

1
JQuery UI 1.9 নিয়ে সমস্যা আছে। রিমুভ ক্লাস () যদি অপসারণআউট ('শ্রেণি') ব্যবহার না করে
মিলাদ

119

স্থির থাকুন, সুনির্দিষ্ট কিছু নির্দিষ্ট না থাকলে ক্লাস () ডিফল্ট সমস্ত ক্লাস অপসারণ করতে ডিফল্ট হয় না? সুতরাং

$("#item").removeClass();

এটি নিজেই করবে ...


3
হ্যাঁ: "মিলিত উপাদানগুলির সেট থেকে সমস্ত বা নির্দিষ্ট শ্রেণি (এস) সরিয়ে দেয়" "
da5id

5
এখন এটি সঠিকভাবে নথিভুক্ত করা হয়েছে : প্যারামিটারে কোনও শ্রেণির নাম নির্দিষ্ট না করা থাকলে, সমস্ত শ্রেণি সরানো হবে।
ব্যবহারকারী

17

classNameআসল ডোম উপাদানটির বৈশিষ্ট্যটি কেবল ''(কিছুই নয়) সেট করুন।

$('#item')[0].className = ''; // the real DOM element is at [0]

সম্পাদনা: অন্যান্য ব্যক্তিরা বলেছেন যে কেবল কলিং removeClassকাজ করে - আমি এটি গুগল জ্যাকুয়েরি খেলার মাঠের সাথে পরীক্ষা করেছি: http://savedbythegoog.appspot.com/?id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... এবং এটি কাজ করে। সুতরাং আপনি এটি এইভাবে করতে পারেন:

$("#item").removeClass();

13

অবশ্যই.

$('#item')[0].className = '';
// or
document.getElementById('item').className = '';

11

হি, অনুরূপ উত্তর খুঁজতে গিয়েছিল। তারপরে এটা আমার আঘাত।

নির্দিষ্ট ক্লাসগুলি সরান

$('.class').removeClass('class');

যদি উপাদানটির শ্রেণি = "শ্রেণি অন্য শ্রেণি" থাকে তবে বলুন


9

সবচেয়ে সংক্ষিপ্ত পদ্ধতি

$('#item').removeAttr('class').attr('class', '');

5

আপনি চেষ্টা করতে পারেন

$(document).ready(function() {
   $('body').find('#item').removeClass();
});

আপনার যদি শ্রেণীর নাম ছাড়াই সেই উপাদানটিতে অ্যাক্সেস করতে হয়, উদাহরণস্বরূপ আপনাকে একটি নতুন শ্রেণির নাম যুক্ত করতে হবে, আপনি এটি করতে পারেন:

$(document).ready(function() {
   $('body').find('#item').removeClass().addClass('class-name');
});

আমি এইচটিএমএল বিল্ডারে ক্লাস অপসারণ এবং যোগ করতে আমার প্রজেটে সেই ফাংশনটি ব্যবহার করি। শুভকামনা।


4
$('#elm').removeAttr('class');

"এলএম" তে আর ক্লাস অ্যাটর উপস্থিত থাকবে না।


এটিই আমার পক্ষে কাজ করেছিল। removeClass();আমার জন্য কাজ করে না।
নতজানু

3

আমি দেশী জেএস ব্যবহার করে পছন্দ করি, এটি বিশ্বাস করুন বা না করুন!

1।

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

2।

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';

jQuery উপায়

  1. $("#item").removeClass();

  2. $("#item").removeClass("class1 ... classn");


2

যেহেতু jQuery এর সমস্ত সংস্করণ সমানভাবে তৈরি করা হয় নি, আপনি একই সমস্যাটি চালিয়ে যেতে পারেন যা আমি করেছি যার অর্থ calling ("# আইটেম") কল করা হয়েছে remove "ক্লাস (); আসলে ক্লাস অপসারণ করে না। (সম্ভবত একটি বাগ)

আরও নির্ভরযোগ্য পদ্ধতিটি হ'ল কাঁচা জাভাস্ক্রিপ্ট ব্যবহার করা এবং শ্রেণি বৈশিষ্ট্য পুরোপুরি সরিয়ে ফেলা।

document.getElementById("item").removeAttribute("class");

1

দিয়ে চেষ্টা করুন removeClass

উদাহরণস্বরূপ :

var nameClass=document.getElementsByClassName("clase1");
console.log("after", nameClass[0]);
$(".clase1").removeClass();
var nameClass=document.getElementsByClassName("clase1");
console.log("before", nameClass[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clase1">I am Div with class="clase1"</div>


1

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

এই jQuery ফিল্টারটি কেবল ইনপুট বা ক্লাসযুক্ত ক্ষেত্রগুলি নির্বাচন করতে "হাইলাইটক্রিটরিয়া" ক্লাসটি সরিয়ে ফেলবে।

$form.find('input,select').filter(function () {
    if((!!this.value) && (!!this.name)) {
        $("#"+this.id).removeClass("highlightCriteria");
    }
});

-2

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

এটি এসপনেটড অক্ষম শ্রেণীর অপসারণের জন্য আমার কোড:

$(document).ready(function () {

    $("span").removeClass("aspNetDisabled");
    $("select").removeClass("aspNetDisabled");
    $("input").removeClass("aspNetDisabled");

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