2010-12-13 10 views
5

के लिए मैं कई div की एक लंबी सूची है ...धारी वर्ग div

<div id="main"> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
.... etc 
</div> 

मैं एक में वर्ग "ग्रे" जोड़ना चाहते मान लीजिए कि 20 div

एक दूसरे के सभी रैप जाने .. दो div में से और इसे ज़ेबरा बनाओ! कृपया jquery कृपया!

$('#main>div.xyz:even').addClass('grey');

http://api.jquery.com/even-selector/

+0

बहाना .. कुछ सुधार किए गए (आईडी/कक्षा) – menardmam

+2

असल में आपका पुराना कोड ठीक था। आपका नया एक अमान्य है क्योंकि आपके पास डुप्लिकेट आईडी हैं। – casablanca

+0

वास्तव में, आपको xyz क्लास की बिल्कुल आवश्यकता नहीं है। यदि किसी अन्य तत्व के अंदर सभी तत्वों में एक ही कक्षा है, तो आप इसे हटा सकते हैं और उन्हें '#main> div' द्वारा चुन सकते हैं। –

उत्तर

5

$('.xyz:odd').addClass('grey');

मन क्या है कि 'ग्रे' एक अर्थ classname नहीं है:

+0

महान टिप्पणी! ... मुझे और सोचना चाहिए ... – menardmam

2

jQuery यह सिर्फ के बारे में के रूप में आसान यह हो सकता है के रूप में आता है। बेहतर कॉल आईडी 'विषम' या 'ज़ेबरा' या कुछ। आप अपना मन बना और नीले रंग के लिए अजीब रंग बदल चाहते हैं, तो आपके classname असली अजीब होगा: पी

1

आप IE के पुराने संस्करणों के बारे में परवाह नहीं है, तो आप इस सीएसएस का उपयोग कर अकेले कर सकते हैं:

.xyz:nth-child(odd) { 
    background-color: ...; 
} 

.xyz:nth-child(even) { 
    background-color: ...; 
} 
+0

मुझे परवाह है! ... यानी 6 दोस्ताना होना चाहिए! – menardmam

+0

@marc: तब कभी भी ध्यान न दें। :) – casablanca

+0

दुर्भाग्यवश भी आईई 8 इसका समर्थन नहीं करता .. बड़ा बमर। –