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


195

জাভাস্ক্রিপ্ট ব্যবহার করে কোনও উপাদানটির কোনও সিএসএস সম্পত্তি মুছে ফেলা সম্ভব? যেমন আমার আছে div.style.zoom = 1.2, এখন আমি জাভাস্ক্রিপ্টের মাধ্যমে জুম সম্পত্তিটি মুছে ফেলতে চাই?


3
দয়া করে পরিষ্কার করুন: আপনি কি কোনও উপাদান থেকে কোনও শ্রেণি বা কোনও উপাদান থেকে কোনও গুণকে সরিয়ে দেওয়ার চেষ্টা করছেন?
জানু হানিয়েč

1
এর জন্য দুঃখিত, কোনও উপাদান নয়, কোনও উপাদানটির জন্য গুণক।
বসে

ডাউনভোট কেন? এটি একটি শালীন যথেষ্ট প্রশ্ন না?
রোল্যান্ড বোম্যান

2
হাই বসে, আমি বুঝতে পারি না - আপনি কেন নববিদদের জবাবকে "স্বীকৃত উত্তর" হিসাবে চিহ্নিত করলেন? আমি বলতে চাইছি আপনি শ্রেণি অনুসারে উপাদানগুলি সন্ধান করতে চান তবে তার সমাধানটি ভাল তবে আপনার প্রশ্নের প্রতিটি বিষয় ইঙ্গিত করে যে আপনি স্থানীয় শৈলীর সম্পত্তি নির্ধারণের প্রভাব পরিবর্তন করার জন্য কোনও পদ্ধতি খুঁজছিলেন। অবশ্যই, আমার উত্তর সমস্যা আরও ভাল ফিট করে? সম্ভবত আমি আপনার প্রশ্নটি ভুল বুঝেছি?
রোল্যান্ড বোম্যান

1
@ রোল্যান্ডবউমন আসলে স্বীকৃত উত্তরটি এডভিনাস ইলেনকোর মতো হওয়া উচিত কারণ এটি ডিফল্ট পরিবর্তে পরিবর্তনের পরিবর্তে অপসারণ সম্পর্কে জিজ্ঞাসা করা প্রশ্নকে সম্বোধন করে। আপনার উত্তরের এখনও মান আছে তাই আমি এটি সম্পাদন করে পার্থক্য স্পষ্ট করতে।
হুইটনিল্যান্ড 11

উত্তর:


187

আপনার দুটি বিকল্প রয়েছে:

বিকল্প 1:

আপনি অপসারণযোগ্য পদ্ধতি ব্যবহার করতে পারেন । এটি কোনও উপাদান থেকে একটি শৈলী সরিয়ে ফেলবে।

el.style.removeProperty('zoom');

বিকল্প 2:

আপনি এটি ডিফল্ট মানটিতে সেট করতে পারেন:

el.style.zoom = "";

কার্যকর জুমটি এখন স্টাইলশিটে সেট করা সংজ্ঞা (লিঙ্ক এবং শৈল ট্যাগের মাধ্যমে) অনুসারে যা কিছু হবে। সুতরাং এই বাক্য গঠনটি কেবল এই উপাদানটির স্থানীয় শৈলীতে পরিবর্তন করবে।


… ব্যবহারকারী সিএসএস এবং ব্রাউজারের ডিফল্ট শৈলীর সাথে।
কুইন্টিন

আমি ওপিটিকে বুঝতে পেরেছি যার অর্থ তারা এটিকে তৈরি করতে চেয়েছিল যেন তারা উপাদানটির স্টাইল সম্পত্তি সেট করে নি, যা আপনি সরবরাহ করেছেন ঠিক তেমনই। আমি el.style.removeProperty ('জুম') ব্যবহার করার চেষ্টা করেছি; (বা 'ফিল', আসলে আমার ক্ষেত্রে) যা মনে হয় IE তে একই কাজ করে এবং অন্যান্য ব্রাউজারগুলি দ্বারা উপেক্ষা করা হয়। কিছু কারণে আমি অবাক হয়ে জানতে পেরেছিলাম যে একটি ফাঁকা স্ট্রিং এ সেট করা একই প্রভাব ফেলেছে এবং ব্রাউজারগুলির সমস্ত (সাম্প্রতিক সংস্করণ) এ কাজ করছে বলে মনে হচ্ছে।
শাওয়াইস

এই আচরণটি কি কোনও মানদণ্ডের কোথাও নির্দিষ্ট করা আছে? আমি এটি খুঁজে পাচ্ছি না :-(
অলিভার জোসেফ অ্যাশ

@OliverJosephAsh হ্যাঁ এটা নথিভুক্ত এর নিচের এই উত্তর দেখার stackoverflow.com/a/7901886/700206
whitneyland



10

আপনি স্টাইলশিট অবজেক্টটি ব্যবহার করতে পারেন:

document.styleSheets[0].cssRules[0].style.removeProperty("zoom");

ক্যাভেট # 1: আপনাকে নিজের স্টাইলশিটের সূচি এবং আপনার বিধি সূচকটি জানতে হবে।

ক্যাভেট # 2: এই অবজেক্টটি ব্রাউজারগুলির দ্বারা বেমানানভাবে প্রয়োগ করা হয়েছে; একটিতে যা কাজ করে তা অন্যের মধ্যে কাজ নাও করতে পারে।


এটি সত্যিই ভঙ্গুর বলে মনে হচ্ছে। যখন আপনার সূচকগুলি পরিবর্তন হবে তখন কি তা ভাঙবে না?
কেসি রডর্মার

হাঁ। # 1 যা সাবধানবাণী বলে ঠিক তাই।
james.garriss

আমার ক্রোম 26 টিতে CSSStyleRule.prototype.removeProperty= নেই (আসলে CSSStyleRuleকোনও পদ্ধতি নেই = = (
টিতে রুডি

CSSStyleSheet.prototype.removeRuleউদ্ধার করতে.
রুডি

@ রুডি, তাই না CSSStyleSheet.prototype.deleteRule ?
রোকে

7
element.style.height = null;

আউটপুট:

<div style="height:100px;"> 
// results: 
<div style="">

দেখে মনে হচ্ছে শূন্য রচনার স্টাইলটি আইই 11-এ কাজ করে না।
ম্যাক্সিমডব্লিউ

1
কারো IEব্রাউজারগুলির যত্ন নেওয়া উচিত কেন ? আমি ইচ্ছাকৃতভাবে কয়েক বছর ধরে তাদের এড়িয়ে চলেছি।
টুডো

4

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

আপনি jQuery জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করে থাকেন, আপনি এটি দিয়ে করতে পারেন $(".the_required_class").css("zoom","")

সম্পাদনা: এই বিবৃতিটি সত্য না হওয়ার কারণে এটি সরানো হয়েছে, যেমনটি একটি মন্তব্যে এবং অন্যান্য উত্তরে উল্লেখ করা হয়েছে যে এটি ২০১০ সাল থেকে সম্ভব হয়েছে।

মিথ্যা: জাভাস্ক্রিপ্ট থেকে স্টাইলশিটগুলি সংশোধন করার জন্য কোনও সাধারণ উপায় নেই।


5
হ্যা এখানে. স্টাইলশিটগুলিতে প্রোগ্রামিংয়ে সংশোধন করা হচ্ছে যদিও জাভাস্ক্রিপ্টটি শক্ত নয়। এটি দুর্দান্ত পারফরম্যান্স সহ ক্রস ব্রাউজারে কাজ করে এবং এমন একটি সম্পত্তি পরিবর্তন করার সময় সত্যিকার অর্থে আসে যা উপাদানগুলির একগুচ্ছের সমান হওয়া উচিত। ২০১০ সালের জানুয়ারীর মতোই। : এখানে একটি সংক্ষিপ্ত উদাহরণ stackoverflow.com/questions/14927706/...
Clox

ক্লোক্স: স্টাইলশিট যুক্ত করা যা কিছু সম্পত্তি প্রোগ্রাম থেকে ওভাররাইড করে - অবশ্যই! ইতিমধ্যে লোড হওয়াগুলিকে সংশোধন করা - এটি শুনেনি।
নাইভিস্টরা

এটির অর্থ () পরিবর্তে সিএসএস () করা উচিত। বা এটি সম্ভবত আইটি এট্রি ()?
অ্যালেক্স কীস্মিত

এটা আসলে হওয়া উচিত css, না attr, আপনি ঠিক বলেছেন।
নাইভিস্টরা

1

আপনি jQuery এ বলার মাধ্যমে এটি করতে পারেন $(selector).css("zoom", "")


0

এটি কৌশলটি করা উচিত - জুমের জন্য ইনলাইন স্টাইলটি স্বাভাবিক হিসাবে সেট করা:

'(' ডিভ ')। অ্যাটর ("স্টাইল", "জুম: সাধারণ;");


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

0

প্রকৃতপক্ষে, আপনি যদি ইতিমধ্যে সম্পত্তিটি জানেন তবে এটি এটি করবে ...

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

<a href="test.html" style="color:white;zoom:1.2" id="MyLink"></a>

    var txt = "";
    txt = getStyle(InterTabLink);
    setStyle(InterTabLink, txt.replace("zoom\:1\.2\;","");

    function setStyle(element, styleText){
        if(element.style.setAttribute)
            element.style.setAttribute("cssText", styleText );
        else
            element.setAttribute("style", styleText );
    }

    /* getStyle function */
    function getStyle(element){
        var styleText = element.getAttribute('style');
        if(styleText == null)
            return "";
        if (typeof styleText == 'string') // !IE
            return styleText;
        else  // IE
            return styleText.cssText;
    } 

মনে রাখবেন এটি কেবল ইনলাইন শৈলীর জন্য কাজ করে ... আপনি শ্রেণীর মাধ্যমে নির্দিষ্ট করা শৈলী বা এর মতো কিছু নয় ...

অন্যান্য দ্রষ্টব্য: আপনাকে প্রতিস্থাপনের বিবৃতিতে কিছু অক্ষর থেকে বাঁচতে হতে পারে, তবে আপনি ধারণা পাবেন।


-3

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

document.getElementById("ElementID").className = "CssClass";

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

document.getElementById("ElementID").className += " CssClass";

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

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

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