作为一些示例代码,我可能会有这样的事情:
$('a.parent').click(function(){
$('a.parent').each(function(){
$(this).stop(true,false).animate({
width: '140px'
},200,function(){
});
});
$(this).animate({
width: '160px'
},200,function(){
});
});
问题是我不希望被点击的元素动画为140px宽度,然后再回到160px。
有没有办法只在一组中没有点击的元素上运行'each'?或者有更好的方法吗?
答案 0 :(得分:24)
你可以使用:not(this)so change:
$('a.parent').each(function(){
$(this).stop(true,false).animate({
width: '140px'
},200,function(){
});
});
到:
$('a.parent:not('+this+')').each(function(){
$(this).stop(true,false).animate({
width: '140px'
},200,function(){
});
});
或在$('a.parent')之后使用.not(this),所以:
$('a.parent').not(this).each(function(){
$(this).stop(true,false).animate({
width: '140px'
},200,function(){
});
});