Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Замена CSS класса каждого четвертого div (https://javascript.ru/forum/jquery/6722-zamena-css-klassa-kazhdogo-chetvertogo-div.html)

iGusse 17.12.2009 20:33

Замена CSS класса каждого четвертого div
 
Привет господа ДжаваСкрипетеры)))
столкнулся со следующей проблемой.

В верстке есть порядка 30 одинаковых дивов с классом .photo-box

нужно каждому четвертому диву присвоить класс .photo-box-last (типа четвертый в строке). Делаю следующее:

$(document).ready(function(){
								 
for ( $i=1; $i <= 24; $i++ ) {  
	
	$(".photo-box").hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); });
	 
	 if ($i %4 == 0) 
	 
	 $(".photo-box").ready( function () { $(".photo-box").toggleClass("photo-box-last");  }); 
	 
	 $(".photo-box-last").hover(function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); }); 
	 
	 ;}
	  
});


изучаю jquery только 1 день))) так что сильно не бейте)))

PeaceCoder 17.12.2009 22:14

На сколько я понимаю алгоритм работы jQuery, хотя в нем не работаю, $(".photo-box") выберает все элементы с таким классом...

Если я правильно понял, то попробуй так:
$(".photo-box")
  .hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); })
  .filter(function(i){if (!(i%4)) $(this).removeClass("photo-box").addClass("photo-box-last")})


кстати не понял есть или нет функция типа replaceClass или switchClass, что бы не было remove & add

iGusse 17.12.2009 23:30

работает!! только начинает выбирать с первого дива, а надо чтобы начинал с четвертого))) можно как -нибудь задать начальное значение для i ?))

PeaceCoder 17.12.2009 23:49

угу и будет вот так тебе надо
.filter(function(i){if (!((i+1)%4)) $(this).removeClass("photo-box").addClass("photo-box-last")})

iGusse 17.12.2009 23:51

УРААААА!!! огромнейшее спасибо! все работает)


Часовой пояс GMT +3, время: 21:30.