2010-11-18 6 views
17

का उपयोग कर कक्षा को कैसे हटाएं मुझे अपने सीएसएस पर @media print के भीतर विभिन्न तत्वों से कक्षाओं को हटाने की आवश्यकता है और उन कक्षाओं को @media screen पर जोड़ें।सीएसएस

क्या सीएसएस फ़ाइल से कक्षाओं को हटाने के लिए वैसे भी है?

कुछ की तरह:

@media print{ 
    .element{/*Remove class*/} 
} 
@media screen{ 
    .element{/*Add class*/} 
} 

मैं मुद्रण के समय में उन तत्वों से ui-tabs-hide एक jQuery समारोह से जोड़ा दूर करने के लिए (जो एक अजीब तरह से तत्व छुपाता है, इसकी नहीं display:block या display:none के रूप में) वर्ग की जरूरत है और मुद्रण समाप्त होने पर इसे वापस डाल दिया।

+0

क्यों कोशिश नहीं ': not' ... जांच http://www.w3schools.com/cssref/sel_not.asp – KingRider

उत्तर

19

नहीं सीएसएस डीओएम को संशोधित नहीं कर सकता, केवल इसकी प्रस्तुति।

+0

ऐसा करने का कोई और तरीका? – Amra

+3

DOM को संशोधित करने के लिए जावास्क्रिप्ट कोड लिखें। –

+1

मीडिया = सभी के लिए स्टाइलशीट में सभी मीडिया के लिए सीएसएस शामिल करें। केवल मीडिया = प्रिंट में स्क्रीन के लिए सीएसएस शामिल करें। केवल मीडिया = प्रिंट में प्रिंट के लिए सीएसएस शामिल करें। – Quentin

4

सीएसएस नहीं HTML दस्तावेज़ से तत्वों बाहर ले जा सकते हैं, फिर भी आप की तरह कुछ की कोशिश कर सकते:

@media print{ 
element.relevantclass 
    { 
    display: none; 
    } 

यह प्रिंट मीडिया बता इस तत्व को प्रदर्शित नहीं करने के लिए होगा।

+0

यह jquery से कक्षा का उपयोग करके छुपा तत्व के रूप में काम नहीं करेगा, मुझे लगता है कि यह ui-widget है, इसलिए प्रदर्शित करें: कोई भी या प्रदर्शित नहीं: ब्लॉक इससे प्रभावित नहीं होगा। – Amra

+0

@ सीज़र लोपेज़: तो आपको कक्षाओं को हटाने की जरूरत है जैसे कि jQuery उन पर कोई फ़ंक्शन लागू नहीं करता है? –

+0

हां मुझे प्रिंटिंग के समय उन तत्वों से यूई-विजेट क्लास को हटाने और प्रिंटिंग समाप्त होने पर इसे वापस डालने की आवश्यकता है। – Amra

2

आप ऐसा करने के लिए jQuery का उपयोग कर सकते हैं।

$(<element>).removeClass() // or removeClass(<the class to be removed>) 
$(<element>).addClass(<new class>) 

यदि आप पृष्ठ की लोडिंग पर ऐसा करना चाहते हैं, तो आप इस दस्तावेज़ तैयार समारोह में (जैसा कि नीचे दिखाया गया है) शामिल कर सकते हैं

$(document).ready(function() { 
    $(<element>).removeClass() 
    $(<element>).addClass(<new class>) 
});