jQueryでインデックスで要素を取得する 質問する

jQueryでインデックスで要素を取得する 質問する

順序なしリストと、そのリスト内のタグのインデックスがありますli。そのインデックスを使用して要素を取得し、背景色を変更する必要がありますli。リスト全体をループせずにこれが可能ですか? つまり、この機能を実現できる方法はあるのでしょうか?

これが私のコードですが、動作すると思います...

<script type="text/javascript">
  var index = 3;
</script>

<ul>
    <li>India</li>
    <li>Indonesia</li>
    <li>China</li>
    <li>United States</li>
    <li>United Kingdom</li>
</ul>

<script type="text/javascript">
  // I want to change bgColor of selected li element
  $('ul li')[index].css({'background-color':'#343434'});

  // Or, I have seen a function in jQuery doc, which gives nothing to me
  $('ul li').get(index).css({'background-color':'#343434'});
</script>

ベストアンサー1

$(...)[index]      // gives you the DOM element at index
$(...).get(index)  // gives you the DOM element at index
$(...).eq(index)   // gives you the jQuery object of element at index

DOM オブジェクトには機能がないのでcss、最後のものを使用してください...

$('ul li').eq(index).css({'background-color':'#343434'});

ドキュメント:

.get(index) 戻り値: 要素

  • 説明: jQuery オブジェクトに一致する DOM 要素を取得します。
  • 見る:参考:

.eq(index) 戻り値: jQuery

  • 説明: 一致する要素のセットを指定されたインデックスの要素に減らします。
  • 見る:参考:

おすすめ記事