क्या जावास्क्रिप्ट का उपयोग करके किसी तत्व की सीएसएस संपत्ति को निकालना संभव है? जैसे मेरे पास है div.style.zoom = 1.2, अब मैं जावास्क्रिप्ट के माध्यम से ज़ूम संपत्ति को निकालना चाहता हूं?
क्या जावास्क्रिप्ट का उपयोग करके किसी तत्व की सीएसएस संपत्ति को निकालना संभव है? जैसे मेरे पास है div.style.zoom = 1.2, अब मैं जावास्क्रिप्ट के माध्यम से ज़ूम संपत्ति को निकालना चाहता हूं?
जवाबों:
आपके पास दो विकल्प हैं:
विकल्प 1:
आप removeProperty विधि का उपयोग कर सकते हैं । यह एक तत्व से एक शैली को हटा देगा।
el.style.removeProperty('zoom');
विकल्प 2:
आप इसे डिफ़ॉल्ट मान पर सेट कर सकते हैं:
el.style.zoom = "";
प्रभावी ज़ूम अब स्टाइलशीट (लिंक और शैली टैग के माध्यम से) में निर्धारित परिभाषाओं से जो भी होगा। तो यह सिंटैक्स केवल इस तत्व की स्थानीय शैली को संशोधित करेगा।
removeProperty एक तत्व से एक शैली को हटा देगा।
उदाहरण:
div.style.removeProperty ( 'ज़ूम');
MDN प्रलेखन पृष्ठ:
CSSStyleDeclaration.removeProperty
आप स्टाइलशीट ऑब्जेक्ट का उपयोग कर सकते हैं:
document.styleSheets[0].cssRules[0].style.removeProperty("zoom");
कैविएट # 1: आपको अपनी स्टाइलशीट के सूचकांक और अपने नियम के सूचकांक को जानना होगा।
कैविट # 2: इस ऑब्जेक्ट को ब्राउज़रों द्वारा असंगत रूप से लागू किया गया है; एक में काम क्या दूसरों में काम नहीं कर सकता है।
CSSStyleRule.prototype.removeProperty= (वास्तव CSSStyleRuleमें कोई विधि नहीं है। =
CSSStyleSheet.prototype.removeRuleबचाव के लिए।
CSSStyleSheet.prototype.deleteRule?
element.style.height = null;
उत्पादन:
<div style="height:100px;">
// results:
<div style="">
IEब्राउज़र की देखभाल क्यों करनी चाहिए ? मैं जानबूझकर उन्हें पहले से ही सालों से नजरअंदाज कर रहा हूं।
आप उन सभी तत्वों को खोजने की कोशिश कर सकते हैं जिनमें यह वर्ग है और "ज़ूम" संपत्ति को "कुछ भी नहीं" पर सेट करना है।
यदि आप jQuery जावास्क्रिप्ट पुस्तकालय का उपयोग कर रहे हैं, तो आप इसके साथ कर सकते हैं $(".the_required_class").css("zoom","")
संपादित करें: इस कथन को हटा दिया गया क्योंकि यह सच नहीं था, जैसा कि एक टिप्पणी और अन्य उत्तरों में बताया गया है कि यह वास्तव में 2010 से संभव है।
गलत: जावास्क्रिप्ट से स्टाइलशीट को संशोधित करने का कोई आम तरीका नहीं है।
css, नहीं attr, आप सही हैं।
आप यह कहकर jQuery में भी कर सकते हैं $(selector).css("zoom", "")
इस चाल को करना चाहिए - इनलाइन शैली को ज़ूम के लिए सामान्य करने के लिए सेट करना:
$ ('div')। Attr ("शैली", "ज़ूम: सामान्य;");
वास्तव में, यदि आप पहले से ही संपत्ति जानते हैं, तो यह ऐसा करेगा ...
उदाहरण के लिए:
<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;
}
ध्यान दें कि यह केवल इनलाइन शैलियों के लिए काम करता है ... न कि ऐसी शैलियों के बारे में जिन्हें आपने कक्षा के माध्यम से निर्दिष्ट किया है या ऐसा कुछ ...
अन्य ध्यान दें: आपको उस बयान के बदले में कुछ पात्रों से बचना पड़ सकता है, लेकिन आपको यह विचार मिलता है।
एक तत्व के लिए सभी वर्गों को बदलने के लिए:
document.getElementById("ElementID").className = "CssClass";
एक तत्व में एक अतिरिक्त वर्ग जोड़ने के लिए:
document.getElementById("ElementID").className += " CssClass";
यह जाँचने के लिए कि क्या एक वर्ग पहले से ही किसी तत्व पर लागू है:
if ( document.getElementById("ElementID").className.match(/(?:^|\s)CssClass(?!\S)/) )