我已经制作了几个图标,并且在他们的鼠标悬停时他们应该做点什么。现在,我已经创建了一个我的图标数组,但是当我将每个()应用到集合时,它不起作用:
所以我需要以下代码块来将悬停事件附加到集合的每个元素。
var icon_set = new Array('.icon-online', '.icon-save', '.icon-sms',
'.icon-access', '.icon-support');
icon_set.each(function () {
$(this).mouseleave(function () {
img.stop().fadeOut();
});
});
答案 0 :(得分:5)
var icon_set = new Array('.icon-online', '.icon-save', '.icon-sms',
'.icon-access', '.icon-support');
$(icon_set.join()).mouseleave(function () {
img.stop().fadeOut();
});
<小时/>
icon_set.each(function () {
- &gt; .each()
不适用于数组
答案 1 :(得分:4)
icon_set
是原始JavaScript Array
。它没有each
方法。使用Array.prototype.forEach
或$.each
并使用$();
icon_set.forEach(function (el) {
$(el).mouseleave(function () {
$(this).stop().fadeOut();
});
});
或
$.each(icon_set, function(index, el) {
$(el).mouseleave(function () {
$(this).stop().fadeOut();
});
});
并且更喜欢在[]
构造函数上使用数组文字语法(Array
)
['.icon-online', '.icon-save',
'.icon-sms','.icon-access', '.icon-support'].forEach(yourMouseleaveHandler);
答案 2 :(得分:1)
如果您的所有图标都有以icon-
开头的类名,则可以使用此Jquery Starts With Selector
$('*[className^="icon-"]').mouseleave(function() {
// Do something
});
PS:它将选择以icon-
开头的所有图标。这取决于你可能/可能不想要那样。
答案 3 :(得分:0)
作为替代方案,为什么不给那些图像赋予所有相同的类,然后你的选择器变得更加简单,即对于myImgs
的新类。
$('.myImgs').mouseleave(function() {
$(this).stop().fadeOut();
});