169 похожих чатов

Привет, можете подсказать что я делаю не так? Я просмотрел

лекции по DOM и что пишут люди на форумах. Но проблема не решается.

Вот есть код:

`var elemAT = document.getElementsByClassName('forAllTime');
// var elemAT = document.getElementById('fat');

var arrAT = [conAT, foodAT, passAT, cigaAT, clotheAT, gaieAT, unnecAT, hobAT, angAT, housAT, careAT, giftsAT, mothAT, petsAT, acceAT, inveAT, eduAT];

var sumAT = 0;

for(var i = 0; i < arrAT.length; i++){
sumAT += arrAT[i];
}

console.log(sumAT.toFixed(2));

var oneProcAT = sumAT / 100;

var procConAT = conAT / oneProcAT;

// elemAT[0].style = "height:" + procConAT + "%";
// elemAT[0].setAttribute("style", "height: 50%");
// elemAT.style.cssText = "height:" + procConAT + "%";;
elemAT.style.height = procConAT + "%";
// document.getElementsByClassName('forAllTime').style.height = procConAT + "%";
// elemAT.style.background = 'red';
// document.getElementsByClassName('forAllTime').style = "height:" + 50 + "%";

console.log(elemAT);
// console.log(document.getElementsByClassName('forAllTime'));
// var getCS = window.getComputedStyle(elemAT);
// console.log(getCS);

console.log(procConAT.toFixed(1));`

`.forAllTime{
display: flex;
align-self: flex-end;
width: 100%;
height: 100%;
background-color: blue;
}`

`<div class="linearDiagram">
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
<div class="forAllTime"></div>
</div>`

Но он указывает что неизвестный параметр Height, хотя такой параметр в стилях есть, он видит этот класс стилей и так далее. Куда копать?

25 ответов

70 просмотров

у тебя в массиве arrAt в элементах указана высота, которая должна присваиваться каждому элементу .forAllTime ???

Вячеслав- Автор вопроса
Олег
у тебя в массиве arrAt в элементах указана высота,...

Я как раз хочу применить эти значения, после некоторых арифметических операций с ними в значения высоты div.

Вячеслав
Я как раз хочу применить эти значения, после некот...

т.е. тебе нужно такое же кол-во дивов как элементов в массиве и при этом высота каждого должна подставляться из массива???

Вячеслав- Автор вопроса
Олег
т.е. тебе нужно такое же кол-во дивов как элементо...

Ну типа. Но в данном случае, я хочу чтобы хотя бы изменилась высота всех div. А потом я уже буду добавлять итерацию elemAT[0] и так далее, для изменения опеределенного div. Но кстати, если добавляю индекс элемента, то он не видит style.

Вячеслав- Автор вопроса
Олег
т.е. тебе нужно такое же кол-во дивов как элементо...

Uncaught TypeError: Cannot set properties of undefined (setting 'height') Типа такого.

Вячеслав- Автор вопроса
Олег
т.е. тебе нужно такое же кол-во дивов как элементо...

Да мне бы сейчас сделать, чтобы просто я мог влиять на высоту div. Так как сейчас даже это не получается. Хотя смотрю лекцию, смотрю как люди делают. У меня так же, только выдаёт ошибку. И я не понимаю почему.

Вячеслав
Uncaught TypeError: Cannot set properties of undef...

дело в том что высота это числовое значение , а ты пытаешься передать непонятно что, какие-то сокращения

Вячеслав- Автор вопроса
Олег
дело в том что высота это числовое значение , а ты...

Эти сокращения, это переменные с числами.

Вячеслав- Автор вопроса
Олег
дело в том что высота это числовое значение , а ты...

К примеру, сейчас прописал вот такую строку: elemAT.style.height = "50px"; Всё равно выбивает ошибку "Uncaught TypeError: Cannot set properties of undefined (setting 'height')". При условии, что я вывожу в консоль HTML коллекцию, он видит этот класс. типа всё ок, я не ошибся в написании, но дальше ничего не происходит.

Вячеслав
Эти сокращения, это переменные с числами.

elemAt у тебя коллекция а высоту даешь одному элементу

Вячеслав- Автор вопроса
Олег
elemAt у тебя коллекция а высоту даешь одному элем...

Я высоту пытаюсь дать всему классу. Если пытаюсь дать высоту первому элементу коллекции, то он ругается уже на style.

Вячеслав- Автор вопроса
Олег
щас погоди накидаю пример

Я ради интереса закомментировал другие div, оставил один. Всё равно выбивает ошибку.

Вячеслав- Автор вопроса
Олег
щас погоди накидаю пример

Лол. Отмена. Я короче супер-тупой. Я пытался получить элемент DOM, перед тем как он появился.

Вячеслав- Автор вопроса
Олег
https://codepen.io/yarovik/pen/xxMgdpX

Я короче решил через ID пойти, и мне теперь приходится кучу переменных с получением id делать, потому что он не хочет через индексацию менять высоту для определенного столбца, а через класс он вообще отказывается работать. Сейчас решил сделать так, чтобы не дизморалить себя, а завтра уже буду смотреть твой вариант или другие, чтобы выглядело нормально. А не кучу однотипных строк.

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

Вячеслав- Автор вопроса
Олег
сразу предостерегу) с id не вариант получать колле...

Да. Спасибо. Завтра буду переделывать через ClassName или QuerrySelector.

Олег
сразу предостерегу) с id не вариант получать колле...

Олег, Вячеслав поднял тебе репутацию! Теперь она 63

Вячеслав- Автор вопроса
Олег
сразу предостерегу) с id не вариант получать колле...

Но странно, что через ClassName, при индексации элементов, начинает ругаться на style.

Вячеслав
Но странно, что через ClassName, при индексации эл...

я тебе там второй вариант накинул на случай если кол-во элементов прописано в верстке

Вячеслав- Автор вопроса
Олег
я тебе там второй вариант накинул на случай если к...

Олег, Вячеслав поднял тебе репутацию! Теперь она 64

Вячеслав- Автор вопроса
Олег
https://codepen.io/yarovik/pen/xxMgdpX

Привет. Короче, по воспоминаниям твоего кода, сделал аналог. Вышло так. Я доволен. var elemY = document.getElementsByClassName('year'); var arrY = [connY, foodY, passY, cigaY, clotY, gaieY, unneY, hobbY, angeY, housY, careY, giftY, mothY, petsY, acceY, inveY, educY]; var sumY = 0; for(var i = 0; i < arrY.length; i++){ sumY += arrY[i]; } var oneProcY = sumY / 100; for(var i = 0; i < arrY.length; i++){ var procY = arrY[i] / oneProcY; elemY[i].style.height = procY + "%"; }

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Карта сайта