আমি কীভাবে জাভাস্ক্রিপ্টের সাহায্যে সমস্ত ইনলাইন শৈলীগুলি মুছতে পারি এবং কেবল CSS স্টাইল শীটে নির্দিষ্ট করা শৈলীগুলি রেখে যেতে পারি?


94

আমার এইচটিএমএলে যদি নিম্নলিখিতগুলি থাকে:

<div style="height:300px; width:300px; background-color:#ffffff;"></div>

এবং এটি আমার সিএসএস স্টাইল শীটে:

div {
    width:100px;
    height:100px;
    background-color:#000000;
}

জাভাস্ক্রিপ্ট / jquery সহ, সমস্ত ইনলাইন শৈলীগুলি সরাতে এবং CSS স্টাইল শীট দ্বারা নির্দিষ্ট স্টাইলগুলি কেবল রেখে যাওয়ার কোনও উপায় আছে?

উত্তর:


166

$('div').attr('style', '');

বা

$('div').removeAttr('style');( অ্যান্ড্রেসের উত্তর থেকে )

এটিকে কিছুটা ছোট করতে, এটি ব্যবহার করে দেখুন:

$('div[style]').removeAttr('style');

এটি এটির গতি একটু বাড়িয়ে তুলবে কারণ এটি ডিভগুলির স্টাইল বৈশিষ্ট্যটি পরীক্ষা করে।

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


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

এটি কেবল ডিভকেই লক্ষ্য করবে। আপনি যদি সবকিছু লক্ষ্য করতে চান?
স্ট্রিটলাইট

4
সম্পর্কিত হিসাবে, .css()খালি স্ট্রিং দিয়ে দ্বিতীয় মান হিসাবে কল করা কেবল ইনলাইন স্টাইল থেকে নামকরণকৃত মানকে সরিয়ে ফেলবে, যেমন $ ('ডিভ')। সিএসএস ('ডিসপ্লে', ''); কেবল ইনলাইন প্রদর্শন সম্পত্তি (সেট করা থাকলে) সরিয়ে ফেলবে)
টম ডেভিস

4
@ স্ট্রিটলাইট $('*').removeAttr('style')সব লক্ষ্যবস্তু করতে ব্যবহার করুন ।
মাকাজে

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

35

সরল জাভাস্ক্রিপ্ট:

এর মতো তুচ্ছ কিছু করার জন্য আপনার জিকিউরির দরকার নেই। শুধু .removeAttribute()পদ্ধতিটি ব্যবহার করুন ।

ধরে নিই যে আপনি কেবল একটি একক উপাদানকে টার্গেট করছেন, আপনি সহজেই নিম্নলিখিতগুলি ব্যবহার করতে পারেন: (উদাহরণস্বরূপ)

document.querySelector('#target').removeAttribute('style');

আপনি যদি একাধিক উপাদানকে টার্গেট করে থাকেন তবে উপাদানগুলির নির্বাচিত সংগ্রহের মধ্য দিয়ে কেবল লুপ করুন: (উদাহরণস্বরূপ)

var target = document.querySelectorAll('div');
Array.prototype.forEach.call(target, function(element){
    element.removeAttribute('style');
});

Array.prototype.forEach()- .querySelectorAll()আইই 9 এবং উপরে / - আইই 8 (আংশিক) আই 9 এবং তার বেশি।


4
একটি বিকল্প Array.prototype.forEach.callমোটামুটি ভাল সমর্থিত splat অপারেটর, যা একটি লাইন সংরক্ষণ হল: [... document.querySelectorAll('div')].forEach(div => div.removeAttribute('style'))

22
$('div').removeAttr('style');

এটি এটার ('স্টাইল', '') করার চেয়ে বেশি দক্ষ?
ম্যাট

সাথে $ ('ডিভ')। অ্যাটর ('স্টাইল', ''); <ডি স্টাইল = ""> </div> $ ('ডিভ') দিয়ে remove <div> </div> আরও পরিষ্কার
andres descalzo

সম্ভবত, কারণ এটি এটিকে একটি নাল মান হিসাবে সেট করে না, তবে উভয় উপায়েই আপনি একটি বৃহত প্রসেসিং সময় পেতে চলেছেন কারণ এটি শরীরের প্রতিটি বিভাজনে যেতে হয়।
টাইলার কার্টার

হ্যাঁ, এটি পরিষ্কার, এটি একটি আইডি changed ("# আইডি") বা একটি শ্রেণি $ (".ক্লাসডিভস) এ পরিবর্তন করা উচিত
Andres descalzo

3

আমি $('div').attr('style', '');কৌশলটি ব্যবহার করছিলাম এবং এটি আই 8 তে কাজ করছে না।

আমি স্টাইলের বৈশিষ্ট্যটি ব্যবহার করে আউটপুট করেছি alert()এবং এটি ইনলাইন স্টাইলগুলি ছাড়ছে না।

.removeAttr IE8 এ কৌশলটি শেষ করেছেন।


3

আপনার যদি styleকোনও উপাদানটির খালি খালি প্রয়োজন হয় তবে:
element.style.cssText = null;
এটি করা ভাল। আশা করি এটা সাহায্য করবে!


একটি উপাদানটির জন্য কেবল একটি একক শৈলীর সম্পত্তি "খালি" করার চেষ্টা করার অনুরূপ যুক্তি প্রয়োগ হতে পারে বলে মনে হয়: element.style.display = null;- আমার যা প্রয়োজন তা হল: ডি
বিলাল আকিল

2

এটি দুটি ধাপে সম্পন্ন করা যেতে পারে:

1: আপনি যে নামটি ট্যাগ নাম, আইডি, শ্রেণি দ্বারা পরিবর্তন করতে চান তা নির্বাচন করুন etc.

var element = document.getElementsByTagName('h2')[0];

  1. শৈলী বৈশিষ্ট্য অপসারণ

element.removeAttribute('style');


-2

আপনি গুরুত্বপূর্ণ হিসাবে স্টাইল শীটে সিএসএস তালিকাবদ্ধ করার চেষ্টা করতে পারেন


4
এটি যখন কাজ করবে তখন এটি সরানোর জন্য গুরুত্বপূর্ণ ইনলাইন শৈলীর সাথে ওভাররাইড করা ভয়ানক অনুশীলন
জোশভারমায়ার important ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.