2

3番目または4番目の要素を取得し、そのIDを設定したいと思います。

見つけた:

$('#menu li:first').attr('id', 'test')

実際には機能していますが、最初の要素しか取得できません。一方、以下を使おうとしましたが、動作しません。

$('#menu li').get(0).attr('id', 'test')

誰かが望ましい要素を取得する方法を説明できますか?(例:4または5)そしてそのIDを設定し、なぜ2番目のコードが機能しないのですか?

4

5 に答える 5

5

eq()次の方法を使用できます。

$('#menu li').eq(2).attr('id', 'third') // selects third element
$('#menu li').eq(3).attr('id', 'fourth') // selects fourth element
于 2012-05-08T17:17:16.310 に答える
4

関数を使ってみてください.eq

$('#menu li').eq(4).attr(...)

また

$('#menu li:eq(4)').attr(...)

補足.get(0)として、jQueryオブジェクトではなくDOM要素を返します。

于 2012-05-08T17:16:56.283 に答える
1

コメントで述べたように、get()はDOM要素を返します。

jqueryのを使用せずに要素のIDを設定することが可能attr()です。

$('#menu li').get(3).id = 'test';
于 2012-05-08T17:37:00.187 に答える
1
$('#menu li:eq(3)').attr('id', 'id_4');
$('#menu li:eq(4)').attr('id', 'id_5');

また

$('#menu li').eq(3).attr('id', 'id_4');
$('#menu li').eq(4).attr('id', 'id_5');

eq()または:eq()両方がターゲット要素のパラメータインデックスを取り、それは常に

targetElementIndex - 1。ゼロベースだからです。

したがって、4番目または5番目の要素をターゲットにする場合は、引数を3および4として指定する必要があります。

デモ

于 2012-05-08T17:18:44.060 に答える
0
$('#menu')

IDが「menu」の要素を選択します。

$('#menu li')

また

$('#menu').find('li')

すべての<li>子孫を選択し、

$('#menu li').eq(3)

4番目を選択します(ゼロからラベル付けされているため)。

また、

$('#menu li')[3]

jQueryラッパーではなく、HTMLElement自体を取得します。

于 2012-05-08T17:19:12.913 に答える