我有这棵树
<div id="chatRooms">
<div class="chatRoom">Lala</div>
<div class="chatRoom">Lolo</div>
<div class="chatRoom">Lili</div>
</div>
$("#chatRooms").children(".chatRoom");
将选择所有的孩子,我只想选择1,不管.html()
这些孩子,这只是一个例子,我该怎么做?
我有这棵树
<div id="chatRooms">
<div class="chatRoom">Lala</div>
<div class="chatRoom">Lolo</div>
<div class="chatRoom">Lili</div>
</div>
$("#chatRooms").children(".chatRoom");
将选择所有的孩子,我只想选择1,不管.html()
这些孩子,这只是一个例子,我该怎么做?
$("#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 的观察。
您可以使用:eq
运算符,:eq
将引用您要选择的元素的索引。
如果您非常依赖随机选择,您可以获得这个 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);