jquery函数中的索引意味着什么

时间:2012-09-17 09:37:36

标签: javascript jquery logic

我是一个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 ) {......

5 个答案:

答案 0 :(得分:4)

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>

答案 1 :(得分:1)

index表示指向由jquery选择的某个元素的位置的数字..

例如,所选元素为$('#haha')

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

所以第一个li是索引0,然后是1,依此类推

答案 2 :(得分: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 documentation

答案 3 :(得分:0)

jQuery创建一个返回元素的数组,索引引用的元素的集合。如果您返回typeof,它将在逻辑上返回数字,因为它是一个数字。

jsBin demo

  $( '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 + '!!!';

  });

答案 4 :(得分:0)

描述:从匹配的元素中搜索给定元素。

索引是元素的顺序,它将告诉您此元素具有哪个索引。第一个将具有索引0,依此类推,在许多编程语言中非常常见,jQuery为您提供此工具。