jquery函数中的索引是啥意思

Posted

技术标签:

【中文标题】jquery函数中的索引是啥意思【英文标题】:What does index in jquery functions meansjquery函数中的索引是什么意思 【发布时间】:2012-09-09 12:18:34 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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>

【讨论】:

感谢您提供非常简单明了的解释。我喜欢这个地方..真的是程序员的天堂......只是一点帮助..你可以为初学者提供一个参考,因为 jQuery 文档似乎有点大:) 我建议您阅读 jQuery 网站本身的入门教程。一旦您习惯了基本概念,就可以使用 API 参考。【参考方案2】:

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

例如选择的元素是$('#haha')

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

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

【讨论】:

【参考方案3】:

在根据集合查看数据时,您会使用 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 列表范围内的 bar 项的索引

见 jquery documentation

【讨论】:

【参考方案4】:

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

索引是元素的顺序,它会告诉你这个元素有哪个索引。第一个将有索引 0 等等,在许多编程语言中很常见,jQuery 为您提供了这个工具。

【讨论】:

【参考方案5】:

jQuery 创建一个返回元素的数组,一个由index 引用的元素的collection。如果您返回 typeof,它会在逻辑上返回 number,因为它是一个数字。

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

  );

【讨论】:

以上是关于jquery函数中的索引是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

在 Javascript/jQuery 中,(e) 是啥意思?

打字稿中的剂量[索引:字符串]是啥意思[重复]

这个 Vigenere 密码中的“字符串索引超出范围”是啥意思?

glDrawElements中的index参数是啥意思?

JavaScript/jQuery 中括号中的代码块是啥意思? [复制]

mysql 索引中的USING BTREE 是啥意思??