2013-01-10 56 views
9

有谁知道是否有可能定义一个CSS选择器,选择div中的第一个图像,但只有它是div内的第一个子图像。第一张图片的CSS选择器,只有第一个孩子

在jQuery中我会用一个比较像这样...

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

这不是你如何比较两个jQuery选择器的结果。您需要使用['.is()'](http://api.jquery.com/is)。 – BoltClock

回答

11

By definition of "first-child",选择(假设你的div过的divid

#div img:first-child 

已经做到这一点。任何div的第一张图片是

div img:first-child 

然而,随着BoltClock的回答指出,如果你可能在div嵌套更深img元素需要的孩子选择。

+0

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

3

这是一个简单的CSS选择器:

#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