4

私はjQueryを始めたので、品質が良くない場合はご容赦ください。

index関数で何を意味するのか、そしてそれが正確に何を指しているのかを知りたいです。以前は、0,1,2,3などのインデックス番号を参照していると思っていましたが、インデックスの代わりに1,2,3を渡すと、コードが機能しなくなります。このタイプを確認したところ、numberデータタイプが表示されています。私が間違っていることと、jQueryのインデックスと要素の概念を正確に説明します。ほとんどの場所でこのようなものが見つかりました-

function(e){
}

私の作業コード-

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
    <title>Example</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$( 'li' ).html(function( index, oldHtml ) {
//alert(typeof($(this).index()));
  return oldHtml + '!!!'
});
});
</script>
</head>
<body>

<ul>
<li>This is List item 1</li>
<li>This is List item 2</li>
<li>This is List item 3</li>
<li>This is List item 4</li>
<li>This is List item 5</li>
</ul>

</body>
</html>

私の試み-

$( 'li' ).html(function( 3, oldHtml ) {....

$( 'li' ).html(function( "3", oldHtml ) {....

$( 'li' ).eq(3).html(function( "3", oldHtml ) {......
4

5 に答える 5

5

引数は、一致したコレクション内の要素のindexインデックスを表します。あなたはそれに値を渡すべきではありません。これは匿名関数に渡される引数であり、必要に応じてこの匿名関数が呼び出されている要素を正確に知るために内部で使用できます。

$( 'li' ).html(function( index, oldHtml ) {
    return 'new html ' + index;
});

インデックスはゼロベースであるため、結果は次のようになります。

<li>new html 0</li>
<li>new html 1</li>
<li>new html 2</li>
<li>new html 3</li>
<li>new html 4</li>
于 2012-09-17T09:40:19.603 に答える
1

indexは、jqueryによって選択された特定の要素の位置を指す番号を意味します。

たとえば、選択した要素は$('#haha')

<ul id='haha'>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>

したがって、最初liはインデックス0、次に1などです。

于 2012-09-17T09:40:42.890 に答える
0

コレクションの観点からデータを見るときは、index()を利用します。例えば

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
  <li id="baz">baz</li>
</ul>


var listItem = document.getElementById('bar');
alert('Index: ' + $('li').index(listItem));

liリストのスコープ内のバーアイテムのインデックスを提供します

jqueryのドキュメントを参照してください

于 2012-09-17T09:43:45.653 に答える
0

jQueryは、返された要素の配列、つまりインデックスによって参照される要素のコレクションを作成します。返すと、数値であるため論理的に数値が返されます。typeof

jsBinデモ

  $( 'li' ).html(function( index, html ) {

    if(index===2){        // zero based, so it will colour the 3rd element!
      $(this).css({color:'red'}); 
    }

    return 'jQuery indexes me inside an array as n:'+ index+
           '<br> My HTML: '+ html + '!!!';

  });
于 2012-09-17T09:46:20.297 に答える
0

説明:一致した要素の中から特定の要素を検索します。

インデックスは要素の順序であり、この要素がどのインデックスを持っているかを示します。最初のものはインデックス0などを持ち、多くのプログラミング言語で非常に一般的であり、jQueryにはこのツールがあります。

于 2012-09-17T09:46:33.403 に答える