JQuery में css प्रॉपर्टी को कैसे हटाएं


197
if(prev_clicked)
{   
    $("#accordion li a.category").css('background-image', 'url("img/off_all_channel.png")');                    
    $("#accordion li a.comment").css('background-image', 'url("img/on_all_online.png")');                   
    $(".icha0").removeProperty("background-color");
    $(".icha0").removeProperty("opacity");
}
else
{   
   $(".icha0").css("background-color","#D5D5D2");
   $(".icha0").css("opacity","0.70");
}

मैं दो सीएसएस गुणों को हटाने की कोशिश कर रहा हूं जो मैंने जोड़े लेकिन यह काम नहीं कर रहा है। हालांकि कोई भी?


1
इसके अलावा, कृपया यहां पोस्ट करने से पहले Google का प्रयास करें। मुझे कोई संदेह नहीं है कि आपके द्वारा यहां पोस्ट किए गए सटीक शीर्षक के लिए पहला परिणाम स्वीकार्य परिणाम होगा। मुझे पता नहीं है कि आप कहां .removeProperty()से आए हैं।
ईसाई

1
@Christian Varga, व्हाट्स फनी है, अब जब उन्होंने इस प्रश्न को पोस्ट किया है, तो यह पहला Google परिणाम है। दूसरा परिणाम एक और सही स्टैक ओवरफ्लो उत्तर है। तीसरा "removeProp ()" है और चौथा "RemoveAttr ()" है, दोनों गलत हैं।
रॉकेटसेटफ़ास्ट

जवाबों:


369

आप इन्हें हटा सकते हैं:

$(".icha0").css({ 'background-color' : '', 'opacity' : '' });

26
जवाब देने में थोड़ा देर हो गई है लेकिन मुझे लगता है कि यह महत्वपूर्ण है। आपको यह ध्यान रखना चाहिए कि यह केवल "शैली" विशेषता में परिभाषित तत्व के गुणों को हटा देगा। यह कोई प्रभाव नहीं लेगा यदि उन्हें एक वर्ग या समान के लिए सौंपा गया है।
जोस कार्लोस

15
यदि आपको किसी वर्ग के माध्यम से सेट की गई संपत्ति को निकालने की आवश्यकता है, तो आप 'inital' के बजाय 'inital' पर सेट कर सकते हैं
जेम्स ब्रियरली

82

आप .css()इस तरह से सीएसएस संपत्ति को हटाने के लिए उपयोग कर सकते हैं :

$(".icha0").css("background-color","");
$(".icha0").css("opacity","");

जैसा कि jquery प्रलेखन में उल्लिखित है:

स्टाइल प्रॉपर्टी की वैल्यू को एक खाली स्ट्रिंग में सेट करना - जैसे $ ('# mydiv')। css ('कलर', '') - उस प्रॉपर्टी को एलीमेंट से हटाता है अगर वह पहले ही सीधे लागू हो चुका हो,


16
Jqeury css से: "हालांकि, यह ऐसा स्टाइल नहीं हटाता है, जिसे स्टाइल नियम या <स्टाइल> एलीमेंट में CSS नियम के साथ लागू किया गया हो
eggmatters

36

इन-लाइन सीएसएस संपत्ति उपयोग को हटाने के लिए:

$('.className').css({propertyName: ''});

एक तत्व उपयोग की पूरी-इन-लाइन शैली को हटाने के लिए:

$('.className').removeAttr('style');

मैंने सीएसएस संपत्ति को शैलियों (अलग फ़ाइल) के उपयोग से हटाने के लिए यह सुझाव भी पाया है:

$ ('। className')। style.propertyName = '';

लेकिन मुझे यह काम करने के लिए नहीं मिल सकता है, इसलिए मैं इसे सिर्फ FYI कर रहा हूँ।


4
$ ('। className')। style.propertyName = ''; $ होना चाहिए ('। className') [0] .style.propertyName = ''; - लेकिन यह बेहद बकवास है
सुपरनोवा

20

या तो आप गुणों को वापस रिक्त पर सेट कर सकते हैं:

$(".icha0").css("background-color","");

या आप CSS फ़ाइल में परिभाषित वर्गों का उपयोग करने के लिए कोड बदल सकते हैं:

$(".icha0").addClass('properties'); 
$(".icha0").removeClass('properties');

नेस्टेड 3 डी दृष्टिकोण के कारण दांतेदार किनारों को हटाने में मदद की। मैं विरोधी दृष्टिकोण को ठीक करने के लिए किसी एक दृष्टिकोण को हटाने की कोशिश कर रहा था, इस पोस्ट ने मेरा दिन बचा लिया! धन्यवाद!
रिचर्ड यान

3

हमारे पास दो तरीके हैं, या तो आप सीधे लागू CSS स्टाइल क्लास को हटा सकते हैं जो DOM एलिमेंट पर लागू होता है या एलिमेंट सीएसएस स्टाइल को एलिमेंट से हटाता है

//Remove the class associated with element

$('#ID').removeClass("cssClass");

//Remove the CSS style from DOM element

$('p').css({"color":""});

3
इस उत्तर में कोई नई बात नहीं है, अन्य उत्तरों को दोहराना व्यर्थ है।
शैडो विजार्ड

3

मुझे यह समस्या हो रही थी लेकिन मैंने यहां ऐसा कोई समाधान नहीं देखा जो ओपी को संतुष्ट करता हो। अधिकांश समाधान पूरे स्टाइल विशेषता से छुटकारा पाने का सुझाव देते हैं जो इसके लायक नहीं है।

मैंने jQuery के प्रोप मेथड का इस्तेमाल किया ।

var styleObject = $('my-selector').prop('style'); 

styleObject.removeProperty('background-color');

2

आदर्श विकल्प से कम वैकल्पिक, लेकिन विभिन्न समस्याओं को हल कर सकता है। उस तत्व के साथ एक नया वर्ग जोड़ें जिसमें मूल्य विरासत है :

सीएसएस

.clearCSS {
    background-color: inherit !important;
}

jQuery

$(".icha0").addClass('clearCSS'); 

2

यह वस्तुतः इस उत्तर से कॉपी पेस्ट है , और मैं इसे सीएसएस शैली को स्पष्ट करने के लिए उपयोग करता हूं जिसे मैंने पहले निष्पादित कार्य में jQuery के साथ जोड़ा था।

इन-लाइन सीएसएस संपत्ति उपयोग को हटाने के लिए:

$('.className').css({propertyName: ''});   

एक तत्व उपयोग की पूरी-इन-लाइन शैली को हटाने के लिए:

$('.className').removeAttr('style');

या आईडी द्वारा:

$('#idName').removeAttr('style');

1

JQuery में सभी CSS संपत्ति को हटाने के लिए निम्नलिखित कोड का उपयोग किया जा सकता है:

    $(".selector").removeClass().removeAttr('style');

धन्यवाद।


1

आप की जरूरत है हटाने और नहीं अद्यतन एक विशिष्ट संपत्ति आप बस का उपयोग कर सकते removeProp और नहीं removeProperty :

$(".icha0").removeProp("background-color");
$(".icha0").removeProp("opacity");
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.