2013-01-10 19 views
9

क्या किसी को पता है कि एक सीएसएस चयनकर्ता को परिभाषित करना संभव है जो div के भीतर पहली छवि का चयन करता है, लेकिन केवल अगर यह div के भीतर पहला बच्चा है।पहली छवि के लिए सीएसएस चयनकर्ता, केवल तभी जब पहला बच्चा

jQuery में मैं इस तरह एक तुलना कुछ प्रयोग करेंगे ...

if ($('#div img:first-child') == $('#div>*:first-child')) { 
    ... 
} 
+1

यह नहीं है कि आप दो jQuery चयनकर्ताओं के परिणामों की तुलना कैसे करते हैं। इसके बजाय आपको ['.is()'] (http://api.jquery.com/is) का उपयोग करने की आवश्यकता है। – BoltClock

उत्तर

11

By definition of "first-child", चयनकर्ता (यह मानते हुए अपने divdiv के id था)

#div img:first-child 

पहले से ही है कि नहीं करता है। किसी भी div की पहली छवि

div img:first-child 

रूप BoltClock के जवाब बताते हैं, बच्चे चयनकर्ता अगर आप img तत्वों div में गहरी नेस्ट हो सकता है जरूरत है, हालांकि।

+0

http://jsfiddle.net/uY9cE/1/ –

3

यह एक सरल सीएसएस चयनकर्ता है:

#div:first-child img:first-child 
+2

यह केवल तभी काम करता है जब '# div' अपने माता-पिता का पहला बच्चा है, जिसका प्रश्न में कहीं भी उल्लेख नहीं किया गया है। – BoltClock

12

आप jQuery में एक तुलना करने के लिए करता है, तो सभी की जरूरत नहीं है आप करना चाहते हैं कि img चुनें। बस अपने दो चयनकर्ताओं को गठबंधन करें:

#div > img:first-child 

यह jQuery और CSS दोनों में काम करता है।

+1

सच है, यदि अन्य नेस्टेड 'div' तत्व हो सकते हैं तो बच्चे चयनकर्ता की आवश्यकता होगी। – ScottS

+1

या, उस मामले के लिए, किसी अन्य नेस्टेड तत्व जो 'img'' div' के नीचे पहला बच्चा हो सकता है। – ScottS