jQuery找到的每个元素的运行代码
|
我有一个列表,并且正在使用jQuery获取列表中的每个LI:
$(\'ul li\')
我如何获得它,以便在找到每个元素之后运行代码,而不是事件;像这样:
$(\'ul li\').code(function() {
alert(\'this will alert for every li found.\');
});
对我来说最好的方法是什么?
没有找到相关结果
已邀请:
2 个回复
剿畦缄饥小
方法:
然后,jQuery将循环遍历数组中的每个值,然后再运行一个匿名函数。它将向该函数传递两个值:它所触摸的值的当前索引以及该值本身。因此,如果我们是第一次运行,索引将为0,值将为\'#a \'。 因此,如果我们从以下内容开始:
运行我们的显式循环后,我们的结果将是:
当然,使用
方法时,您不仅限于数组和其他手工制作的集合。您也可以直接在选择器上链接此方法(注意,从技术上讲,这是另一种
方法):
此方法专门用于循环遍历jQuery对象。每次迭代都会在您的匿名函数中将当前元素显示为“ 9”。因此,回顾前面的示例,我们可以执行以下操作:
因此,对于每个匹配的元素,我们将执行匿名函数。 jQuery将为我们传递一个索引,以便我们可以通过匹配的元素跟踪进度。在第一个遍历中,
将为0,
将指
。在第二次通过时,索引将为1,并且ѭ9将表示ѭ15。 尽管显式循环很诱人,但请注意,它们可能会增加应用程序不必要的开销。当jQuery具有多个匹配的元素时,它已经自行执行了循环。该循环称为隐式循环,有时我们可以使用它来满足我们的需求,同时提高性能。 隐式循环 隐式循环是在jQuery本身内自动完成的,例如使用您的代码:
jQuery对所有匹配的
元素执行循环,并将其颜色设置为\“ red \”。我们不必专门要求循环-它只是隐式地执行一个循环。但是,假设\“ red \”太简单了,我们想分别与每个项目进行交互-我们可以通过传入一个函数作为第二个参数来做到这一点:
jQuery将向我们的函数传递两个参数:当前元素的索引,以及该元素上颜色的当前rgb值。您可以将其中之一用于内部逻辑-我只是返回ѭ17的ѭ19。我们返回的值将成为此元素上
的新值。 因此,如果我们的无序列表如下所示:
jQuery的隐式循环完成后,第一个
将是红色,第二个将是绿色,最后一个将是蓝色。
您可以在http://jsbin.com/egihun/2/edit上在线查看 根据您要调用的方法,不同的参数将传递给您的函数。确保研究文档以了解在这些隐式循环中可以使用哪些信息。
膏焦凑