আমি কীভাবে jQuery ব্যবহার করে কোনও উপাদানের CSS বৈশিষ্ট্যটি আনসেট করব?


95

যদি আমি ব্যবহার করে কোনও নির্দিষ্ট উপাদানটিতে সিএসএসের মান সেট করি:

$('#element').css('background-color', '#ccc');

আমি সেই উপাদানটি-নির্দিষ্ট মানটি আনসেট করতে এবং ক্যাসকেড মানটি ব্যবহার করতে সক্ষম হতে চাই:

$('#element').css('background-color', null);

কিন্তু সেই সিনট্যাক্সটি কাজ করছে বলে মনে হচ্ছে না - এটি কি অন্য সিনট্যাক্স ব্যবহার করে সম্ভব?

সম্পাদনা করুন: মানটি প্যারেন্ট উপাদান থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয় না - মূল মানগুলি একটি উপাদান-স্তর নির্বাচকের কাছ থেকে আসে। কোন বিভ্রান্তির জন্য দুঃখিত!

উত্তর:


143

থেকে jQuery এর ডক্স :

একটি শৈলীর বৈশিষ্ট্যের মান একটি খালি স্ট্রিংয়ে সেট করা - যেমন $('#mydiv').css('color', '')- যে সম্পত্তিটি এটি ইতিমধ্যে সরাসরি প্রয়োগ করা হয়েছে, HTML শৈলীর বৈশিষ্ট্যে, jQuery এর .css()পদ্ধতিতে বা styleসম্পত্তিটির সরাসরি DOM ম্যানিপুলেশনের মাধ্যমে সরিয়ে দেয় । এটি কোনও স্টাইলশিট বা <style>উপাদানটিতে সিএসএস বিধি প্রয়োগ করে এমন স্টাইল সরিয়ে দেয় না ।


আমার যখন এই সমস্যা হয়েছিল তখন আমি এই প্রশ্নটি জুড়ে এসেছি। আমার ক্ষেত্রে আমি styleট্যাগের একটি বৈশিষ্ট্যে CSS বৈশিষ্ট্য নির্ধারণ করছিলাম , সুতরাং এই পদ্ধতিটি কার্যকর হয়নি। .css()ট্যাগের পরিবর্তে পদ্ধতিটির সাথে শৈলী প্রয়োগ করা আমাকে এটিকে পরে মুছে ফেলার অনুমতি দেয়।
গ্লেন মোস

14

আমি মনে করি আপনি এটি করতে পারেন:

$('#element').css('background-color', '');

displayক্ষেত্রটি প্রদর্শন / লুকিয়ে রাখতে সরল-পুরাতন-জাভাস্ক্রিপ্টে থাকা সম্পত্তিটির জন্য আমি দীর্ঘ সময় আগে এটি ব্যবহার করি ।


4

আসলে, আমার মনে হয়েছে যে সিনট্যাক্সটি ভুল ছিল (তার সাথে null) কাজ করছে বলে মনে হচ্ছে - আমার নির্বাচকটি কেবলমাত্র অনুপযুক্তভাবে গঠিত হয়েছিল, এবং এর ফলে কোনও উপাদান পাওয়া যায় নি। ডিওহ!


21
Jquery হিসাবে 1.4.3 css(..., null)কাজ করে না এবং এর css(..., '')পরিবর্তে ব্যবহার করা উচিত - বাগস.জিকিয়ারি
টিম সিলভেস্টার

3

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

$('#element').css('background-color', 'inherit');

4
উত্তরাধিকারসূত্রে দুর্ভাগ্যক্রমে আমি যে আচরণটি খুঁজছি তা নয়: w3.org/TR/CSS2/cascade.html
cdleary

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

0

এটি যেটির জন্য গুরুত্বপূর্ণ তা 'ফিল্টার' এর জন্য IE 8 এ কাজ করবে না বলে মনে হচ্ছে, আমাকে এটি ব্যবহার করতে হয়েছিল (ফেইডইন কলব্যাকে):

$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));

স্পষ্টতই, আমার একটি খালি ইনলাইন ফিল্টার ঘোষণা সরিয়ে ফেলতে হবে যাতে সিএসএস কার্যকর হতে পারে; অন্যান্য ইনলাইন বিধি ছিল তাই আমি কেবল শৈলীর বৈশিষ্ট্য অপসারণ করতে পারিনি।


-2

যদি এটি সাহায্য করতে পারে তবে আমি ডাবল উদ্ধৃতিতে একটি সমস্যা যুক্ত করছি:

$('#element').css("border-color", "");

যখন কাজ করে না

$('#element').css('border-color', '');

কাজ করে

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