Ваш код не будет работать, потому что вы установите следующего брата на left
, но на следующей итерации этот брат все равно получит float: right
.
Как упомянул Джеппе в своем комментарии, вы можете использоватьиндекс как этот:
var index = 0;
$('section article').each(function (i, element) {
var setFloat = (index % 2 === 0) ? "right" : "left";
$(element).find('div.inner').css('float', setFloat);
index++;
});
РЕДАКТИРОВАТЬ:
Решение CSS от dfliess было на правильном пути, но, так как есть только один div.inner
в каждом article tag
, оно не будет работатьтаким образом, потому что у каждого article
есть только один div.inner child
.
Если вам все еще нужно решение только для CSS, вы можете сделать что-то вроде этого:
section:nth-of-type(odd) article div.inner {
float: left;
}
section:nth-of-type(even) article div.inner {
float: right;
}
Этот даетстили для div.inner
каждого нечетного / четного раздела.Рабочая скрипка здесь: https://jsfiddle.net/jg6ht1ro/