Javascript 在while循环中将变量传递给:eq jquery选择器
我正在尝试将jqueryJavascript 在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
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++;
};