2010-05-11 11 views
13

द्वारा jquery तत्व फ़िल्टर उदाहरण के लिए मैं प्रत्येक div का चयन करना चाहता हूं जिसमें लाल पृष्ठभूमि रंग है। यह jquery में संभव है?सीएसएस

<div style="background-color:red"></div> 
<div style="background-color:white"></div> 
<div style="background-color:red"></div> 
<div style="background-color:yellow"></div> 

आप

उत्तर

11
$('div[style=background-color:red]'); 
+9

केवल अगर टैग – ThiefMaster

+3

@TiefMaster पर शैली विशेषता है तो काम करें - मैंने ऊपर दिए गए उदाहरण एचटीएमएल के संदर्भ में प्रश्न का उत्तर दिया। – Gabe

+6

इसके साथ कुछ भी गलत नहीं है, इस मामले का उपयोग करने वाले किसी व्यक्ति को इसका एहसास नहीं है। साथ ही, यदि स्टाइल टैग बिल्कुल 'पृष्ठभूमि-रंग: लाल' की तरह स्वरूपण नहीं कर रहा है तो यह –

16

आप jQuery फिल्टर इस्तेमाल कर सकते हैं धन्यवाद:

$('div').filter(function() { 
    return this.element.style['background-color'] == 'red'; 
}); 

लेकिन, जैसा कि tvanfosson ने कहा है, सही तरीके से प्रत्येक के लिए एक CSS वर्ग आवंटित करने के लिए किया जाएगा अपने divs, तो आप इस तरह jQuery का उपयोग कर ऑब्जेक्ट्स को कॉल कर सकते हैं (जो jQuery के साथ काम करने का पसंदीदा तरीका है):

$('.yourCSSClass'); 
+0

यह केवल तभी काम करेगा पृष्ठभूमि रंग स्पष्ट रूप से टैग की शैली विशेषता में घोषित किया गया है ... –

+0

इसे वापस करें। स्टाइल ['पृष्ठभूमि-रंग'] == 'लाल'; - यह मेरे लिए काम करता है – Tebe

1

मुझे लगता है कि आपको लगता है कि के लिए एक कस्टम फिल्टर की आवश्यकता है, तो आप टैग पर एक निश्चित style=xxx विशेषता पर भरोसा नहीं करना चाहती:

$('*').filter(function() { /* check the background color of this */ }); 
6

यह मुश्किल तरीके से क्यों करते हैं? एक बेहतर समाधान है कि अपने तत्वों को अपनी शैलियों को देने के लिए सीएसएस कक्षाओं का उपयोग करें, फिर आप कक्षा-आधारित चयनकर्ता का उपयोग कर सकते हैं।

<style type="text/css"> 
    .alert { 
     background-color: red; 
    } 
</style> 

<div class="alert"></div> 


$('.alert').... 
2

सबसे पहले, मैं पृष्ठ तत्वों पर इनलाइन शैलियों को सेट करने की सलाह नहीं देता हूं। सीएसएस वर्गों को असाइन करें और बाहरी पृष्ठभूमि दस्तावेज़ में अपने पृष्ठभूमि रंगों को नियंत्रित करें।

<div class="red"></div> 
<div class="white"></div> 
<div class="red"></div> 
<div class="yellow"></div> 

और अपने सीएसएस में:

.red {background-color:red;} 
.white {background-color:white;} 
.yellow {background-color:yellow;} 

तो यह यह का उपयोग करके लाल लोगों को चुनने के लिए आसान बनाता है: $('div.red')

15

इस कोड को भी सीएसएस है कि में परिभाषित नहीं लिए काम करता है टैग की शैली विशेषता:

$('div').filter(function() { 
    return $(this).css('background-color') == 'red'; 
});