【问题标题】: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 ) {......

【问题讨论】:

    标签: javascript jquery logic


    【解决方案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 + '!!!';
          
            });
          

          【讨论】:

            猜你喜欢
            • 2022-11-25
            • 2018-06-21
            • 1970-01-01
            • 2020-08-28
            • 2014-09-28
            • 2015-04-21
            • 1970-01-01
            • 2021-03-29
            • 2015-07-09
            相关资源
            最近更新 更多