2012-08-11 34 views
0

我有這樣的樹如何選擇很多孩子的一個DIV內

<div id="chatRooms"> 
<div class="chatRoom">Lala</div> 
<div class="chatRoom">Lolo</div> 
<div class="chatRoom">Lili</div> 
</div> 

​​將選擇所有的孩子,我希望只選擇1,不管這些孩子的.html()的,這只是一個例如,我該怎麼做?

+0

你想選擇哪一個? – 2012-08-11 10:25:20

+0

任何人,隨機... – 2012-08-11 10:26:07

+0

隨機選擇的目的是? – maddrag0n 2012-08-11 10:27:36

回答

1
$("#chatRooms").children(".chatRoom")[2]; // returns DOM element 
              not Jquery, must be rewrapped 

$("#chatRooms").children(".chatRoom").eq(2); // returns JQuery element 

$("#chatRooms > .chatRoom:eq(2)"); // 0-based index! 

$("#chatRooms > .chatRoom:nth-child(3)"); // 1-based index! and other differences 

例如:)

Ť這裏也有其他的選擇與選擇(如$("#chatRooms .chatRoom:first")),並與jQuery函數

$("#chatRooms").children(".chatRoom").last() 

編輯:擴大問題的答案也與奧菲爾巴魯和Esben斯科夫佩德森的意見。

+1

注意當使用[2]時,對象不再是jquery包裝,這意味着它必須再次用$()包裝以使用jqeury函數。 – 2012-08-11 10:28:07

+1

@EsbenSkovPedersen你是絕對正確的先生,謝謝:) – Cranio 2012-08-11 10:29:17

+0

我認爲這事與我,因爲它只有一次得手,這是行不通的再次 – 2012-08-11 10:34:17

1

您可以使用:eq運算符,:eq將引用您要選擇的元素的索引。

+1

考慮':eq'到'nnth-child'之間的區別(http://www.w3.org/TR/css3-selectors/#nth-child-pseudo) – 2012-08-11 10:29:15

0

如果依靠隨機選擇很多,你可以得到這個jQuery插件,將介紹:隨機過濾器: http://blog.mastykarz.nl/jquery-random-filter/

那麼你可以有像

$("#chatRooms").children(".chatRoom:random"); 

或者你可以使用的東西像這樣不需要另一個插件

var count = $("#chatRooms > .chatRoom").length; 
var random = Math.Round(Math.random()*count); 
$("#chatRooms > .chatRoom").eq(random); 
+0

沒有使用另一個插件添加另一種方式。 – maddrag0n 2012-08-11 11:12:07