【问题标题】:Jquery/Javascript: what does the " i " in " (function(i){ " do/mean? How does it know that?Jquery/Javascript:“(function(i){”中的“i”是什么意思?它是怎么知道的?
【发布时间】:2010-10-19 01:59:26
【问题描述】:

在下面的示例中,Jquery 代码将页面上图像的 src 更改为以"test" 开头,并以".jpg" 结尾,但是什么告诉它i 是什么?如果我是正确的,i 也可以是number,或e,或z,或n,或任何我想要的单词或字母,所以,把i 放在那里,是说i 是当前对象吗?还是对象的名称?或者它只是一个变量,如果它是一个变量,是什么告诉它变量包含什么? i 是什么?是数字吗?如果我将i 更改为h,会不会一样?

$("img").each(function(i){ 
  this.src = "test" + i + ".jpg"; 
});
HTML:
<img/><img/>
Result:
<img src="test0.jpg"/><img src="test1.jpg"/>

有人知道有什么好的教程可以专门解决这个问题吗?

【问题讨论】:

    标签: javascript jquery function


    【解决方案1】:

    i$("img") 找到的元素集中元素的索引

    您可以在the .each() documentation中找到记录的回调参数:

    .each(function(index, Element))
    function(index, Element) - 为每个匹配的元素执行的函数。

    至于更改它,是的,您可以调用任何您想要的参数(只要它不是关键字)并在函数中使用相同的名称。

    【讨论】:

    • 技术上,i 是一个参数,jQuery 的each 函数将提供当前元素的索引。
    • 是的(虽然我不是这样解释标题的)——但重要的是要注意它是一个参数,而不是索引本身。恕我直言,jQuery 世界中有很多被滥用的术语。
    • 如果是点击,我会是什么?它会持有什么?或者?例如:$("img").click(function(i){
    • @android - 对于像.click() 这样的事件处理程序(all jQuery 事件处理程序),第一个参数是 jQuery 事件对象:api.jquery.com/category/events/event-object 你通常会命名该参数相应地,eevent
    【解决方案2】:

    jQuery .each docs 涵盖了这一点,尽管它们可能更清楚。关键行是“每次回调运行时,都会通过当前循环迭代,从 0 开始。”那是i 变量。

    【讨论】:

      【解决方案3】:

      将变量名从 i 更改为任何其他名称不会影响变量的类型。在这种情况下,它是一个整数。

      【讨论】:

        猜你喜欢
        • 2014-04-06
        • 1970-01-01
        • 2020-05-24
        • 2021-05-27
        • 1970-01-01
        • 2014-01-12
        • 2015-10-08
        • 2014-05-06
        • 1970-01-01
        相关资源
        最近更新 更多