为什么我的循环只返回循环的最后一项?

时间:2015-12-17 14:03:35

标签: javascript jquery loops closures

下面,我使用.each()方法循环浏览导航栏的链接,并使用每个链接的数据属性作为myFunc的参数:

var $nav = $(".nav"),
    $navLinks = $nav.find(".nav-item");

$navItems.each(function(idx, elem) {
    var $self = $(this);

     $self.on("click", function(e) {
        e.preventDefault();

       myFunc($(this).data(myAttr));
    });
});

我的问题是上面的代码只返回循环的最后一项。即使我将$elf.on代码包装在一个立即调用的函数表达式中,它仍然会调用我循环的最后一项。谁能告诉我我在这里做错了什么?

0 个答案:

没有答案