Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Полосатые списки (https://javascript.ru/forum/misc/14269-polosatye-spiski.html)

tolian_27 09.01.2011 08:16

Полосатые списки
 
Добрый день! Не знаком с js, подскажите или ткните на ссылку пожалуйста как можно сделать такой полосатый список(количество строк заранее неизвестно) для нумерованного (ordered) списка
<ol>
<li></li>
<li></li>
</ol>:

т.е. менять бэкграунд для нечетных строк?
Заранее большое спасибо!

monolithed 09.01.2011 08:33

<script type="text/javascript">
window.onload = function(){
    var li = document.getElementById('ul').getElementsByTagName('li'), i = li.length;
    while(i--) {
        li[i].style.backgroundColor = i%2 ? 'red' : 'green';
    }
};
</script>

<ul id="ul">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>

tolian_27 09.01.2011 09:04

Большое спасибо, дружище :), Скажи пожалуйста а что означает эта строчка
li[i].style.backgroundColor = i%2 ? 'red' : 'green';
смысл то ясен что это проверка на четность/нечетность, "li[i].style.backgroundColor" - бэкграунд li соотвутствующего номера, не совсем пойму как работает именно это - "i%2 ?"

monolithed 09.01.2011 09:15

Деление по модулю

tolian_27 09.01.2011 09:21

Javascript % Делимое
Ок, понял.

Aetae 09.01.2011 13:51

Btw в современных браузерах можно так:
<style type="text/css">
#ul li:nth-child(2n) {background-color:#ccf}
</style>

<ul id="ul">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>


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