0

私はこの木を持っています

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

$("#chatRooms").children(".chatRoom");すべての子を選択します。.html()これらの子の数に関係なく、1つだけを選択します。これは単なる例ですが、どうすればよいですか?

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

ランダムな選択に大きく依存している場合は、:randomフィルターを導入するこの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);
于 2012-08-11T10:34:59.560 に答える