jQuery函数中的索引是什么意思?

4

我是一个jQuery初学者,所以如果质量不好,请原谅。

我想知道函数中的index指的是什么,它具体指什么。之前我认为它指的是索引号,如0、1、2、3等,但当我在索引位置传递1、2、3时,我的代码就停止工作了。我检查了它的类型,并显示数字数据类型。
请告诉我我做错了什么以及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个回答

5

index参数表示匹配集合中元素的索引。您不应该向其传递值。此参数是传递给匿名函数的,如果需要,您可以在其中使用它来确切地知道调用此匿名函数的元素是哪个:

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

索引从0开始计算,因此结果将为:
<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 文档似乎有点大,不太适合入门 :) - Trialcoder
1
我建议您先通过jQuery网站上的入门教程进行学习。一旦熟悉了基本概念,可以使用API参考。 - Darin Dimitrov

1

索引是指由 jQuery 选择的某个元素在其父级元素中的位置编号。

例如,如果选择的元素是 $('#haha'),则其索引为……

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

因此第一个li是索引0,然后是1等等。


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 列表范围内某个 bar 项目的索引

请参阅 jQuery 文档


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

  });

0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接