2012-01-21 15 views
6

मैं एक विशेषता चयनकर्ता ([title]) के साथ एक छद्म-तत्व चयनकर्ता (:after) कैसे जोड़ सकता हूं?सीएसएस विशेषता और छद्म-तत्व चयनकर्ताओं को संयोजित करें?

मैंने div[title]:after का उपयोग करने का प्रयास किया, लेकिन यह क्रोम में काम नहीं करता है।

HTML:

<div title="foo">This div has a title.</div> 
<div>This div does not have a title.</div> 

सीएसएस:

div:after { 
    content: "NO"; 
} 
div[title]:after { 
    content: "YES"; 
} 

डेमो: http://jsfiddle.net/jmAX6/

यह मेरे "हाँ" उन div के में से प्रत्येक के अंत में पता चलता है, जब यह "दिखाना चाहिए नहीं "दूसरे div के बाद।

मैं क्रोम 17.0.963.38 चला रहा हूं। ऐसा लगता है कि सफारी 5.1.2 में ठीक काम करता है।

उत्तर

9

यह एक बग जैसा दिखता है, जो अंततः reported रहा है। यदि आप कम से कम एक घोषणा के साथ div[title]कहीं भी के लिए अपने स्टाइलशीट में कोई सीएसएस नियम जोड़ते हैं, तो आपके div[title]:after नियम जादुई रूप से लागू होंगे। उदाहरण के लिए:

div:after { 
    content: "NO"; 
} 
div[title] { 
    display: block; 
} 
div[title]:after { 
    content: "YES"; 
} 

the updated fiddle देखें।

ऐसा लगता है कि नीचे दिए गए टिप्पणियों में दिखाए गए अनुसार आपके दूसरे div में कुछ HTML विशेषताएँ हैं या नहीं।

+1

हाँ एक बग की तरह दिखता है, इसे एक जांचें: http://jsfiddle.net/jmAX6/6/ किसी भी शीर्षक के साथ div में कक्षा को जादुई रूप से काम करने से यह काम करता है। –

+1

@Madmartigan: मुझे कुछ अन्य संबंधित बग भी मिल रहे हैं। अब एक रिपोर्ट दर्ज करना सिर्फ एक कोर की तरह लगता है। अगर मुझे याद है तो मैं इसे बाद में करूँगा। – BoltClock

+2

ऐसा लगता है कि यह उपयोग की गई विशेषता पर भी निर्भर है, इसलिए यह निश्चित रूप से एक बग होना चाहिए: http://jsfiddle.net/jmAX6/7/ इसे टैबिएंडेक्स के साथ भी देखें, जब आप इसमें टैब करते हैं, छद्म तत्व खुद को सुधारता है। –

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