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 回答