0

我有这棵树

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

$("#chatRooms").children(".chatRoom");将选择所有的孩子,我只想选择1,不管.html()这些孩子,这只是一个例子,我该怎么做?

4

3 回答 3

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

例如 :)

选择器(as $("#chatRooms .chatRoom:first"))和 Jquery 函数还有其他选项

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

编辑:扩展答案还包括对 Ofir Baruch 和 Esben Skov Pedersen 的观察。

于 2012-08-11T10:25:37.363 回答
1

您可以使用:eq运算符,:eq将引用您要选择的元素的索引。

于 2012-08-11T10:27:46.307 回答
0

如果您非常依赖随机选择,您可以获得这个 jquery 插件,它将引入 :random 过滤器: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);
于 2012-08-11T10:34:59.560 回答