Javascript 在while循环中将变量传递给:eq jquery选择器

Javascript 在while循环中将变量传递给:eq jquery选择器,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我正在尝试将jqueryhover函数分配给包含以下代码的列表中的所有元素: var element = 0; var length = $(".artist-list-link").length; while (element<length) { $(".artist-list-link:eq("+element+")").hover(function() { $(".artist-back:eq("+element+")").css('display','blo

我正在尝试将jquery
hover
函数分配给包含以下代码的
列表中的所有元素:

var element = 0;
var length = $(".artist-list-link").length;
while (element<length) {
    $(".artist-list-link:eq("+element+")").hover(function() {
        $(".artist-back:eq("+element+")").css('display','block');
        $(".artist-hover:eq("+element+")").fadeIn(100);
    }, function() {
        $(".artist-back:eq("+element+")").css('display','none');
        $(".artist-hover:eq("+element+")").fadeOut(100);
    });
element++;
};

有什么问题吗?感谢您的回答。

这是因为调用回调时,
元素
已更改

您可以这样做:

while (element<length) {
    (function(element) {
      $(".artist-list-link:eq("+element+")").hover(function() {
        $(".artist-back:eq("+element+")").css('display','block');
        $(".artist-hover:eq("+element+")").fadeIn(100);
      }, function() {
        $(".artist-back:eq("+element+")").css('display','none');
        $(".artist-hover:eq("+element+")").fadeOut(100);
      });
    })(element);
    element++;
}; 

while(element这是因为调用回调时
element
已更改

您可以这样做:

while (element<length) {
    (function(element) {
      $(".artist-list-link:eq("+element+")").hover(function() {
        $(".artist-back:eq("+element+")").css('display','block');
        $(".artist-hover:eq("+element+")").fadeIn(100);
      }, function() {
        $(".artist-back:eq("+element+")").css('display','none');
        $(".artist-hover:eq("+element+")").fadeOut(100);
      });
    })(element);
    element++;
}; 

while(element
:eq()
不是CSS选择器。那么它是哪一个呢?我只想知道。它是jQuery独有的选择器,所以是jQuery选择器。它不是CSS的一部分。
:eq()
不是CSS选择器。那么它是哪一个呢?我只想知道。它是jQuery独有的选择器,所以是jQuery选择器。它不是CSS的一部分。
$('.artist-list-link:eq(0)').hover(function() {
    $('.artist-back:eq(0)').css('display','block');
    $('.artist-hover:eq(0)').fadeIn(100);
}, function() {
    $('.artist-back:eq(0)').css('display','none');
    $('.artist-hover:eq(0)').fadeOut(100);
});
while (element<length) {
    (function(element) {
      $(".artist-list-link:eq("+element+")").hover(function() {
        $(".artist-back:eq("+element+")").css('display','block');
        $(".artist-hover:eq("+element+")").fadeIn(100);
      }, function() {
        $(".artist-back:eq("+element+")").css('display','none');
        $(".artist-hover:eq("+element+")").fadeOut(100);
      });
    })(element);
    element++;
};