Jquery循环属性

时间:2014-09-22 08:40:11

标签: jquery loops properties

我解释我的问题:下面的代码工作正常,每个块只有一个数字

$('.topCellNav_1').mouseover(function(){                    
      $('.cell_1').not(this).fadeTo(50,0.4);                
});

$('.topCellNav_2').mouseover(function(){                    
      $('.cell_2').not(this).fadeTo(50,0.4);                
});

$('.topCellNav_3').mouseover(function(){                    
      $('.cell_3').not(this).fadeTo(50,0.4);                
});

$('.topCellNav_4').mouseover(function(){                    
      $('.cell_4').not(this).fadeTo(50,0.4);                
});

$('.topCellNav_5').mouseover(function(){                    
      $('.cell_5').not(this).fadeTo(50,0.4);                
});

等等达到19或更多......

所以问题是---如何使用循环

缩短上面的代码

类似的东西:

var i=-1
while ( ++i < 19 ) { 

$('.topCellNav_'+i).mouseover(function(){                   
      $('.cell_'+i).not(this).fadeTo(50,0.4);   

});
}

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用属性启动选择器

$('[class^="topCellNav_"').mouseover(function() {
    var index = $(this).attr("class").split("_")[1];
    $('.cell_' + index).not(this).fadeTo(50, 0.4);
});