2012-01-11 20 views
23

में पहले और दूसरे बच्चे का चयन कैसे करें मैं एक अनॉर्डर्ड सूची में पहली दो सूची आइटम चुनना चाहता हूं। - मुझे लगता है कि कैसे करते होएनएच-बच्चे() या पहले बच्चे? एक और

ul li:nth-child(1) a { 
    background: none repeat scroll 0 0 beige; 
} 

या

ul li:first-child a { 
    background: none repeat scroll 0 0 beige; 
} 

मैं दोनों पहली और दूसरी लाइन आइटम का चयन करने के लिए करना चाहते हैं: मैं इस प्रकार पहले आइटम का चयन कर सकते?

उत्तर

37

js या :nth-child (जो मेरा मानना ​​है कि IE में समर्थित नहीं है)

ul li:first-child, ul li:first-child + li { 
    list-style: none; 
} 

Here के उपयोग के बिना एक डेमो IE7

+4

+1: प्रथम-बच्चे 'और आसन्न भाई चयनकर्ता के लिए +1, आईई 7 तक सभी तरह से संगतता के लिए बढ़िया है। – BoltClock

5

यह आईई 9 + में काम करता है लेकिन यह सबसे छोटा नहीं है। @ बोल्टक्लॉक का चयनकर्ता आईई 9 + के लिए सबसे छोटा समाधान है। मुझे लगता है कि यह समझने में थोड़ा आसान है इसलिए मैं इसे एक विकल्प के रूप में छोड़ दूंगा।

ul li:first-child a, ul li:nth-child(2) a 
{ 
    background: none repeat scroll 0 0 biege; 
} 
+0

धन्यवाद। इसलिए मुझे प्रत्येक चयनकर्ता को अल्पविराम से अलग करना होगा - एक ही चयनकर्ता में दोनों का चयन करने का कोई तरीका नहीं है? मैं उल ली की तरह कुछ सोच रहा था: एनएच-बच्चे (1,2) ए - निश्चित रूप से यह काम नहीं करता है लेकिन मैं सोच रहा था कि ऐसा कुछ ऐसा हो सकता है? –

+0

@tvanfosson: 'an + b' के साथ, आप केवल ऋणात्मक 'ए' पास कर सकते हैं और यह केवल पहले 'बी' बच्चों को उठाएगा। मेरा जवाब देखें – BoltClock

+0

@ बोल्टक्लॉक - मैं हर दिन कुछ नया सीखता हूं। आपको +1, लेकिन मैं यहां अपना (कुछ विचार करने के बाद) छोड़ दूंगा क्योंकि मुझे लगता है कि क्या हो रहा है यह समझना थोड़ा सा आसान है। – tvanfosson

3

क्रॉस-ब्राउज़र संगतता के लिए आपकी सर्वश्रेष्ठ शर्त jQuery का उपयोग करना और सूची आइटम में कक्षा असाइन करना होगा।

कुछ की तरह ...

$(function() { 

$('li').each(function() { 
    if($(this).index() == 1 || $(this).index() == 2) { 
    $(this).addClass('first_or_second'); 
    } 
}); 

}); 
+1

जावास्क्रिप्ट के बिना ब्राउज़र? –

35

पहले और दूसरे बच्चों के चयन के लिए, आप तो जैसे एक भी :nth-child() छद्म वर्ग का उपयोग कर सकते हैं:

ul li:nth-child(-n+2) a { 
    background: none repeat scroll 0 0 beige; 
} 
+1

अच्छा। मुझे 'ए = -1' का उपयोग करने के बारे में पता नहीं था। – tvanfosson

0

.trJobStatus ul{ 
 
    width: 500px; 
 
    height:500px; 
 
    float: left; 
 
    } 
 
.trJobStatus ul li{ 
 
    width: 50px; 
 
    height:50px; 
 
    border: solid 1px #ddd; 
 
    list-style:none; 
 
    display: inline-block; 
 
    text-align: center; 
 
    line-height:50px; 
 
    font-size:25px; 
 
    } 
 

 
.trJobStatus ul li:nth-child(1), 
 
.trJobStatus ul li:nth-child(5){ 
 
    color:red; 
 
    }

 
    <div class="trJobStatus"> 
 
    <ul> 
 
<li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li>4</li> 
 
    <li>5</li> 
 
    </ul> 
 
</div>

.trJobStatus उल में परीक्षण किया गया है li: nth-child (1), .trJobStatus ul li: nth-child (2) { रंग: #fff; पृष्ठभूमि-रंग: #ddd; }

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