我喜欢这个
$('#link').hover(function(){
$(this).find('.actionBlck').css('opacity','0.85');
},function(){
$(this).find('.actionBlck').css('opacity','1');
});
});
我在foreach循环中有像<a id='link' href=".$link." target='_blank'>
这样的html。它工作,但只有第一项才会产生效果,为什么?我检查我的html,它有多个链接ID。
答案 0 :(得分:3)
id
是唯一的。您只能在页面上拥有一个具有特定id
的元素。但是,类可以重复。类旨在提供公共元素的聚类和分组。 Ids是选择单个元素的手段。
$('.link').hover(function(){
$(this).find('.actionBlck').css('opacity','0.85');
},function(){
$(this).find('.actionBlck').css('opacity','1');
});
});
像<a class='link' href=".$link." target='_blank'>
这样的html应该有用。
答案 1 :(得分:0)
您正在通过ID进行选择。 Id应该是独一无二的。因此,当你通过id jquery选择时,只返回一个元素。
所以如果你有这个:
<a id='link' href=".$link." target='_blank'>...</a>
<a id='link' href=".$link." target='_blank'>...</a>
然后你选择这样:
$('#link').hover(function(){
// do something
}
只会将处理程序附加到第一个项目。
改为使用班级:
<a class='link' href=".$link." target='_blank'>...</a>
<a class='link' href=".$link." target='_blank'>...</a>
然后附上一个像这样的处理程序:
$('.link').hover(function(){
// do something
}
在jquery中使用id选择器(#
)时,它将被转换为对DOM函数getElementById
的调用。请注意,它的“元素”不是“元素”而只返回单个元素。
答案 2 :(得分:0)
因为ID属性是唯一标识符。意味着多个元素不能具有相同的id。
改为使用类,如下所示:
<a class='link' href=".$link." target='_blank'>
并将jQuery选择器更改为$('.link')