我的页面上有很多带.photo
类的元素。
我这样选择它们:
$('#photos-container .photo').hover ...
有没有办法过滤掉那些没有触发悬停事件的元素?
答案 0 :(得分:6)
怎么样?
$('#photos-container .photo').hover(function(e) {
var elementsThatDidntFire = $('#photos-container .photo').not(this);
}
答案 1 :(得分:2)
使用.not
过滤:
$('#photos-container .photo').hover(function() {
$('#photos-container .photo').not(this).addClass('hover');
}, function() {
$('#photos-container .photo').not(this).removeClass('hover');
});
答案 2 :(得分:1)
$('#photos-container .photo').hover(function(e) {
var elementsThatDidntFire = $('#photos-container .photo').filter(function() {
return this !== e.target;
});
}, function() {
});
答案 3 :(得分:1)
与DaDaDom的答案类似,但它会缓存元素,因此您不会在每个事件中重新选择。
var photos = $('#photos-container .photo').hover(function(e) {
var elementsThatDidntFire = photos.not(this);
});