在学习jquery时,我看到了这个例子:
$( "li" ).each(function( index ) {
console.log( index + ": " + $( this ).text() );
});
我的第一个问题是索引属性的确切功能。在这个例子中很明显,但我也看到了像 delay(700 * index)这样的例子。索引属性在这里做什么?
我的第二个问题可能有点模糊,但我会尽量保持清醒。在函数括号中,您还可以将事件对象用作参数,根据我的理解,您可以为其指定任何名称。那么,解释器如何知道索引参数,不仅仅是我给事件对象的名字?
答案 0 :(得分:0)
重要的是要理解each
函数将回调函数作为参数。此回调函数还接受参数 - index ,在这种情况下,它将是<li>
元素的索引号。
因此,例如,如果您有4个<li>
元素,each
函数将创建4次迭代,每次迭代将递增 index 参数,从0开始。
另一个要理解的重要事情是索引参数不是你可以控制的,它是在each
函数中定义的 - 如果你将它的名字改为 event < / em>它实际上会改变在该回调中传递的对象。您可以将其称为 i 或事件,它仍然是索引。 事件参数由事件监听器(例如onmousedown
,onclick
等中的回调函数传递。
希望这有帮助
<小时/> 的更新强>
以下是对所有<li>
元素使用click事件的方法。
$('li').click(function(event){
console.log($(this).html());
})
li {
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>I am the first List element</li>
<li>I am the second List element</li>
<li>I am the third List element</li>
<li>I am the fourth List element</li>
</ul>