0

簡単なコードは次のとおりです。

 var elements = $('#myDiv').find('a');

要素配列に 5 つのリンクが含まれているとします。今、次のように配列のゼロ番目のリンクを非表示にしたいと思います。

$(elements[0]).css("display","none");

$(elements[0]) が違法であることは知っています。私は言うことができます:

var selector="#"+elements[0].id

その後

$(selector).css("display","none");

しかし、ID が割り当てられていない場合、どうすればその要素を参照できますか?

4

4 に答える 4

6

ここで特別なセレクターを適用することをお勧めします。最初の要素を取得するには、:firstセレクターを使用します。

$("#myDiv").find("a:first").hide();

または:eq()セレクター:

$("#myDiv").find("a:eq(0)").hide();

ここで:eq(0)、インデックス 0 の要素を選択します。

于 2012-11-15T12:36:07.630 に答える
2

これはうまくいきます

$('#myDiv a:first').hide();
于 2012-11-15T12:37:23.913 に答える
1

奇妙な場合$(elements[0])は、次を使用できます。

elements.eq(0)

ただし、パフォーマンス$(elements[0])に関しては、他のほとんどのアプローチよりも優れている.eqことに注意してください$(elements.get(0)).

:firstorを使用することはお勧めしません:eq。これらははるかに遅いためです。

このベンチマークを参照してください: http://jsperf.com/jquery-first-vs-first2/6

于 2012-11-15T12:37:58.230 に答える
1
var elements = $('#myDiv').find('a');
elements.filter(':first').css("display","none");

また

$('#myDiv').find('a:first').css("display","none");

またはそれ以上

$('#myDiv a:first:visible').hide();
于 2012-11-15T12:36:52.277 に答える