Показать сообщение отдельно
  #39 (permalink)  
Старый 26.07.2019, 04:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Блондинка
убрала new Data вообще всё не работает
Вместо new Date() нужно d.getDay(), так как ранее у вас под этой переменной и открыт этот объект. Только оказывается у вас там написано так, как делать не стоит. А "оказывается" потому, что код не форматирован и его читать неудобно. В чем вы пишите код, если редакторы при открытии тела функции/условия автоматически создают парные конструкции {}, а при переходе на новую строку (входе в эту конструкцию) добавляют табуляцию? Должно быть так:

document.addEventListener('DOMContentLoaded', function() {
    var d = new Date(),
        days = "Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" ");
    
    document.querySelector('#day').textContent = days[d.getDay()];
    document.querySelector('#day_01').options[d.getDay()||7].selected = true;
    document.querySelector('#day_02').value = d.getDay()
    document.querySelector('#date').options[d.getDate()-1].selected = true;
    document.querySelector('#date_01').value = d.getDate();
    document.querySelector('#month').options[d.getMonth()].selected = true;
    document.querySelector('#year').value = d.getFullYear();
});


Здесь объявлены две переменные d и days, через запятую, хотя можно написать и так:

var d = new Date();
var days = "Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" ");


Но вот так, как у вас:
days = "Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" ");

делать не стоит. В остальном надеюсь теперь понятно почему:
document.querySelector('#day_01').options[d.getDay()||7].selected = true;

с ошибкой, а:
document.querySelector('#day_02').value = d.getDay()

нормально.
Ответить с цитированием