Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125

Добавить класс к предыдущему элементу

12.11.2015, 06:48. Показов 1696. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Помогите пожалуйста, разобраться.
Вывожу календарь, необходимо добавить стилями фон для выходных дней.

Вот код:

HTML5
1
<div id="calendar"></div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
body{
    font-size: 18px;
    color:#999;
}
.table{
    display:table;
    border:2px solid hotpink;
    margin:100px auto;
}
td.odd {
    background-color: lightgray;
}
td.even {
    background-color: white;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict';
var calendarDate = new Date(),
    lastDayMonth = new Date(calendarDate.getFullYear(),calendarDate.getMonth()+1,0).getDate(), // последний день месяца
    dayWeekLastDayMonth = new Date(calendarDate.getFullYear(),calendarDate.getMonth(),lastDayMonth).getDate(), // день недели последнего дня месяца
    dayWeekFirstDayMonth = new Date(calendarDate.getFullYear(),calendarDate.getMonth()+1).getDate(), // день недели первого дня месяца
    divTable = document.createElement('table'),
    tableTr = document.createElement('tr'),
    tableTd = document.createElement('td');
 
    divTable.className = "table";
 
for(var  i = 1; i <= lastDayMonth; i++) {
    var tableTdClone = tableTd.cloneNode();
    tableTdClone.innerHTML = i;
    tableTdClone.className = (i%7==0) ? 'odd' : 'even'; 
    tableTr.appendChild(tableTdClone);
 
}
 
divTable.appendChild(tableTr);
document.getElementById('calendar').appendChild(divTable);
console.log(tableTr);
вопрос по этой строке js
JavaScript
1
 tableTdClone.className = (i%7==0) ? 'odd' : 'even';
что надо дописать чтобы добавить стиль к последнему элементу и к элементу перед ним?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2015, 06:48
Ответы с готовыми решениями:

Добавить класс элементу
Привет! помогите пожалуйста разобраться, необходимо добавить класс блоку div (при нажатии на крестик модальное окно (popup) закрывается). ...

Как обратиться к предыдущему элементу массива
Доброго времени суток. В общем задача такова: нужно создать двумерный массив 20 на 20 в котором изначально известны только 2 значения - A и...

Добавить/Удалить класс элементу с заданным классом по клику (без jQuery)
Добавить/Удалить класс элементу с заданным классом по клику! &lt;!doctype html&gt; &lt;meta charset='utf-8'&gt; ...

2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.11.2015, 07:51
однозначного ответа не будет

проблема идентификации тегов страницы -- в том числе ваша задача: найти предыдущий и последующий теги относительно уже известного -- она решается миллионом разных способов

и практически всегда предварительно надо знать иерархию страницы
например, если внутри контейнера <div></div> имеется несколько разных тегов и, предположим, какой-то из них уже известен и сохранён в переменной, то предыдущий и последующий можно определить
-- либо пошаговым перебором previousSiblingnextSibling), проверяя на каждом шаге nodeType -- когда вернётся тип HTML-элемента, то задача решена
-- либо перебором коллекции children родительского элемента, который легко определяется через parentNode, заканчивая перебор совпадением очередного элемента коллекции с известным и запоминанием его индекса j, ну а потом children [j - 1] -- это предыдущий тег, а children [j + 1] -- это последующий тег
-- либо ещё миллионом разных способов

кроме того, document.createElement('tr') и document.createElement('td') уже очень давно являются нерекомендуемыми способами создания строк и ячеек -- используйте для этого методы insertRow () и insertCell ()
0
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125
12.11.2015, 09:11  [ТС]
Спасибо за разъяснение. Но оно мне не особо помогло. Суть понятна, а как реализовать - нет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2015, 09:11
Помогаю со студенческими работами здесь

Добавить класс к элементу
Есть HTML: &lt;ul class=&quot;nav&quot;&gt; &lt;li&gt;&lt;a href=&quot;/page1&quot;&gt;PAGE1&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;/page2&quot;&gt;PAGE2&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a...

OnMouseEnter class - добавить класс элементу
Не знаю, как еще назвать тему. Есть скрипт: $(function() { $('#img123').circlemouse({ onMouseEnter :...

Добавить класс элементу списка при клике
Добрый день! Есть массив items который формируется динамически. let data = { title: &quot;My Shoping List&quot;, items: ,...

Как добавить класс к элементу при активном чекбоксе
Здравствуйте! Подскажите пожалуйста новичку как сделать, что при активном чекбоксе, к тэгу &lt;p&gt; в блоке &lt;div...

Добавить класс динамично добавленному элементу, без нажатия, фокуса, наведения
Здравствуйте! Как это реализовать (см. заголовок)? Есть такие реализации: $(parent).on('click', 'tag.class', function(){...}); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru