2013-05-07 5 views
13

मान लीजिए मैं निम्नलिखित है:तत्वों का चयन करें जहां विशेषता गैर खाली है

<div data-pid="">Unknown</div> 
<div data-pid="123">Known 123</div> 

वहाँ केवल तत्वों जहां data-pid विशेषता गैर खाली है का चयन करने के सीएसएस में कोई तरीका है?

उत्तर

20

यह काम करता है अगर आप थोड़ा पीछे की ओर काम करने से परहेज नहीं करते और आप इसे जरूरत ब्राउज़रों में काम करने के लिए है कि :not का समर्थन नहीं करते:

div[data-pid] { 
    color: green; 
} 

div[data-pid=""] { 
    color: inherit; 
} 

कि गैर खाली साथ सभी div रों कर देगा data-pid हरी है।

यहाँ फिडल: http://jsfiddle.net/ZuSRM/

+1

में कुछ भी दिखाई नहीं दे रहा है क्योंकि यह उत्तर एलेक्स से छह सेकंड तेज होने के कारण स्वीकार कर रहा है। हालांकि यदि 'inherit' ब्राउज़र समर्थन के लिए उपयोग करने के लिए सबसे अच्छी बात है मैं नहीं जानता: p –

17

बदसूरत लग रहा है, लेकिन कुछ इस तरह यह करना चाहिए:

[data-pid]:not([data-pid=""]) 

jsFiddle Demo

एक छोटे जावास्क्रिप्ट अगर आप पुराने ब्राउज़र का समर्थन करने की जरूरत है आप भी कक्षाएं जोड़ सकता है, के साथ।

+0

मेला। तो कोई एक विशेषता चयनकर्ता है? –

+0

@ कोलिंक मुझे http://www.w3.org/TR/css3-selectors/#attribute-selectors – kapa

4
/* Normal styles */ 
[data-pid] {} 

/* Differences */ 
[data-pid=""] {} 

jsFiddle

यह काफी बेहतर ब्राउज़र समर्थन करना होगा। लोगों को आप चाहते हैं चयन करने की बजाय, शैली उन सभी को और फिर दूसरी चयनकर्ता में मतभेद जगह। पर्याप्त

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