2014-06-09 6 views
6

मैं यह जांचने की कोशिश कर रहा हूं कि jQuery में एक इनलाइन शैली पहले ही लागू हो चुकी है या नहीं।जांचें कि अधिकतम-चौड़ाई सेट है, jQuery में?

आम तौर पर, मैं कुछ इस तरह करना होगा:

if ($(this).css('max-width') == '20%') {}

हालांकि, मैं प्रतिशत पता नहीं है।कोई अधिकतम-चौड़ाई लागू है या नहीं, यह जांचने का सबसे अच्छा तरीका क्या है?

उत्तर

5

डिफ़ॉल्ट .css('max-width')"none" वापस आ जाएगी करके अगर कोई max-width परिभाषित किया गया था, तो निम्न स्थिति काम करना चाहिए:

if ($(this).css('max-width') !== 'none') { ... } 

आप इनलाइन शैली केवल के लिए जाँच करने की जरूरत है, जिसका अर्थ है कि आप मूल max-width सीएसएस संपत्ति (उदाहरण के लिए स्टाइलशीट फ़ाइल से) को ओवरराइड करें, आप निम्न कार्य कर सकते हैं:

if (this.style.maxWidth !== '') { ... } 

... की संपत्ति style की संपत्ति "" खाली होगी यदि सीएसएस संपत्ति सेट नहीं की गई थी।

+1

ओपी कहते हैं, 'इनलाइन शैली', यह जाँच नहीं होता नहीं इनलाइन शैली? – Reigel

+0

@ रीगेल मेला पर्याप्त है। संबंधित विवरण के साथ उत्तर अद्यतन किया गया। – VisioN

+0

बिल्कुल सही! '$ (यह) 'और' यह 'के बीच क्या अंतर है, पहला jQuery विशेष वस्तु है? –

2

यदि किसी तत्व पर max-width संपत्ति लागू नहीं है तो यह none वापस आ जाएगी। none

$(this).css('max-width') =='none' 

या

if($('#element').css('max-width') =='none') { 
// max-width not EXISTS 
} 
else 
{ 
// max-width EXISTS 
} 

जाँच हो रही है जांच करने के लिए प्रयास करें केवल inline style:

if($('#element').attr('style') != 'undefined'){ 
if($('#element').attr('style').indexOf('max-width') == -1) { 
    // max-width not EXISTS 
} 
else 
{ 
    // max-width EXISTS 
} 
} 
else 
{ 
    // Inline style not EXISTS 
} 

या

मैं की सलाह देते हैं का उपयोग jQuery चयनकर्ता Attribute Contains Word Selector

$('div[style ~= "min-width:"]') 

Working Fiddle

+0

इनलाइन-शैली पाने का एक और तरीका शुद्ध जेएस 'स्टाइल 'प्रॉपर्टी (' style.maxWidth') का उपयोग कर रहा है। सामान्यतः इसे इनलाइन-शैली वापस करनी चाहिए, अन्यथा यह खाली हो जाती है, इसलिए हमें सीएसएस फ़ाइल में शैली सेट करने के लिए 'getComputedStyle' या jQuery विधि' css' का उपयोग करना होगा। –

+0

@ किंगिंगकिंग: हाँ यह शुद्ध जेएस है, और यदि हम Jquery का उपयोग करना चाहते हैं, तो हम Jquery चयनकर्ताओं का उपयोग कर सकते हैं। (कृपया अद्यतन उत्तर देखें) :) –

संबंधित मुद्दे