2012-01-07 71 views
3

我有一個列表,它是這樣的:li:列表中特定班級的第一個孩子?

<ul> 
    <li class="empty">bla</li> 
    <li class="item">text1</li> 
    <li class="item">text2</li> 
<ul> 

是它現在可以通過JQuery特定類的li:first-child選擇e.g?

我不想選擇class="empty",我要選擇「項目」的第一項...

$('ul li.item:first-child')不工作。

謝謝!

回答

3

您不能使用:first-child,因爲它的定義如下:「選擇所有父元素的第一個子元素。」這並不是你的情況。但是,:first定義爲:「選擇第一個匹配元素。」。這工作:

$('ul li.item:first') 

http://jsfiddle.net/n4JhH/

但是,它實際上並不可能,如果有多個ul你想申請這個工作。然後你必須爲每個應用它$('ul').each(...) < - 我不知道是否有更簡單的解決方案。

+0

嘿,謝謝。使用'$(「li.search_list_item」,'.search_list')來解決它。first()';-) – Torben 2012-01-07 10:40:16

+0

@Torben好的,酷:)注意'$('foo:first')'和' $( '富')。第()'。 – 2012-01-07 10:42:48

+0

...因此,如果您有多個「ul」,則存在同樣的問題。 – 2012-01-07 10:43:52

-1

[編輯]這應該工作

$('ul li:not(.empty):first')

http://jsfiddle.net/H9rxx/

+0

-1我低估了這一點,因爲這個問題說'具有一類物品的第一個'。這裏的代碼從列表中獲取第一項,如果它沒有一個空類。 – 2012-01-07 10:43:03

+0

夠公平!還有針對特定問題的其他解決方案。 – 2012-01-07 10:48:27

相關問題