javascript - Get Actual CSS Property of element if it dynamically added "!important" -
मेरे पास आईडी = "somID" के साथ एक तत्व है;
उदाहरण के लिए:
एचटीएमएल:
& lt; div id = 'somid' & gt; & lt; / div & gt;
सीएसएस:
#somID {width: 500px; height: 500px}
और मेरे पास एक वर्ग है: अधिकतम करें।
अतः,
। अधिकतम करें {width: 100%! महत्वपूर्ण; ऊंचाई: 100%! महत्वपूर्ण; }
अब गतिशील रूप से मैं
$ ('# somID') के साथ कॉल करके अपने
#somID
की चौड़ाई और ऊंचाई प्राप्त करना चाहते हैं। चौड़ाई () या। ()
लेकिन मैं अपनी आईडी में परिभाषित तत्व की वास्तविक ऊंचाई लेना चाहता हूं, परन्तु मुझे .maximize
परिणाम में नहीं मिलता है, जिसकी ऊंचाई या चौड़ाई है #somid
।
किसी भी दोस्त के पास कोई विचार है? कैसे # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
समस्या यह है कि बहुत से, कई चयनकर्ता, जो किसी विशेष तत्व के साथ दिए गए तत्व के लिए लागू होते हैं, हो सकते हैं। कोई एपीआई नहीं है जो आपको सीएसएस में चयनकर्ता से एक संपत्ति का अनुरोध करने की अनुमति देता है - यह केवल अधिक समझ में नहीं आता है।
यह कहने के बाद, आप उस मुद्दे को हल करने के लिए एक हैक बना सकते हैं:
<पूर्व> फ़ंक्शन getOriginalDimensions (आईडी) {var $ a = $ ("& lt; div & gt;", {id: id}); । $ ( "शरीर") ($ क) संलग्न; Var चौड़ाई = $ a.width (); Var ऊंचाई = $ a.height (); $ A.remove (); वापसी {चौड़ाई: चौड़ाई, ऊंचाई: ऊंचाई}; } Console.log (getOriginalDimensions ("somID")); // रिटर्न {चौड़ाई: 500, ऊंचाई: 500}
उपरोक्त काम आपके HTML और CSS के साथ करता है।
यह मूलतः बनाता है एक ही आईडी वाला एक तत्व, उसे शरीर में जोड़ता है, आयाम पढ़ता है और तुरंत उसे हटा देता है। यह आवश्यक है क्योंकि डिवीज़ का कोई आकार नहीं होगा यदि इसे केवल DOM में नहीं रखा गया है और जोड़ा नहीं गया है, क्योंकि सीएसएस लागू नहीं होगा।
सिद्धांत में आप इसे कार्य करने के लिए इस फ़ंक्शन का विस्तार कर सकते हैं
लेकिन ध्यान रखें कि यह एक गंदा हैक है और आपको अपने दृष्टिकोण पर पुनर्विचार करना चाहिए।
Comments
Post a Comment