2011-08-14 16 views
5

मैं रंगीन तालिका बनाने की कोशिश कर रहा हूं, यहां तक ​​कि विषम लोगों की तुलना में पंक्तियों के साथ एक अलग रंग भी है। मेरे पास एकमात्र समस्या यह है कि मुझे छिपी पंक्तियों के साथ भी ऐसा करने में सक्षम होना चाहिए, क्योंकि यदि उदाहरण के लिए आप पंक्ति 2 को छुपाते हैं तो आप पंक्ति 1 और पंक्ति 3 को एक ही रंग देखते हैं।सीएसएस रंग तालिका समस्या

यहाँ मैं क्या है:

tr:not([display="none"]):nth-child(even){ 
    background: #EFEFFF; 
} 
tr:not([display="none"]):nth-child(odd){ 
    background: #E0E0FF; 
} 

इस कोड मेरे लिए काम नहीं करता है के बाद से ब्राउज़र को फिल्टर नहीं है: नहीं और: n वें-बच्चे को दिया आदेश के अनुसार। कोई सुझाव?

tr.visible:nth-child(even) { 
    background: #EFEFFF; 
} 
tr.visible:nth-child(odd){ 
    background: #E0E0FF; 
} 

फिर जोड़ने/के रूप में आप पंक्तियाँ दिखाई अदृश्य बनाने/वर्ग दूर करने के लिए jQuery का उपयोग करें:

+1

आप छुपे तत्वों का चयन करने के लिए _element विशेषता selector_ का उपयोग करने का प्रयास कर रहे हैं, लेकिन 'प्रदर्शन' एक सीएसएस संपत्ति है। –

+0

आहाह तो समस्या थी। आप सभी को धन्यवाद;)। मैं दिए गए "वर्ग समाधान" का प्रयास करूंगा। – Gonzalo

उत्तर

10

आप के रूप में यह लिख सकता है दृश्य पंक्तियां करने के लिए एक वर्ग को जोड़ने सकते हैं?

+0

+1 ने मुझे पंच पर हरा दिया;) –

+0

यह एक बहुत अच्छी चाल है। मुझे एहसास नहीं हुआ कि 'nth-child' * चयनित सेट * पर काम करता है - [CSS3 spec] (http://www.w3.org/TR/css3-selectors/#nth-child-pseudo) इसे बनाता है अजीब की तरह ध्वनि या यहां तक ​​कि पेड़ के आधार पर गणना की जाती है। – OverZealous

+1

हाहा मैंने सोचा कि कोई उस समाधान के साथ आएगा। मैं सिर्फ यह जानना चाहता था कि कोई समाधान है जो कामकाज की तरह नहीं दिखता है (कोई अपराध नहीं)। – Gonzalo

1

इसी तरह की समस्या से निपटने का प्रयास करते समय यहां समाप्त हुआ। फ़िल्टरिंग के बाद एक अतिरिक्त कक्षा के आधार पर सीएसएस को अद्यतन करने के लिए निम्न जेएस का उपयोग किया गया।

$('tr.visible').filter(':odd').css('background-color', '#EFEFFF'); 
$('tr.visible').filter(':even').css('background-color', '#E0E0FF'); 

शून्य अनुक्रमित सरणी के कारण फ़्लिप किए गए रंगों को नोट करें।

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