Просмотр полной версии : Как присвоить width из data ?
Максим Ученик
04.03.2020, 05:28
Есть не известное кол-во блоков в него я сгенерировал svg и так же хочу из data-num сделать style.left для элемента svg.
Но получается что left для всех line присваивается из нижнего data-num.
Что я делаю не так ?
https://codepen.io/topicstarter/pen/OJVjBOz
Что я делаю не так ?
Что-то ты там накрутил... :blink:
Вот это
let num = parents[i].parentElement.lastElementChild.firstElementChild. getAttribute("data-num");
parents[i].style.left = num + "%";
Зачем делаешь в цикле?
for(let k=0; k<lines.length; k++){
// ...
}
Вот это
let num = parents[i].parentElement.lastElementChild.firstElementChild. getAttribute("data-num");
Можно заменить на такое
let num = parents[i].parentElement.querySelector('line').getAttribute("data-num");
Все будет понятнее... ;)
Так же не понятно зачем вообще цикл в цикле... :blink:
for(let i=0; i<parents.length; i++){
for(let k=0; k<lines.length; k++){
}
}
У тебя ведь количество элементов svg и line совпадает... Можно обойтись и одним циклом.
Максим Ученик
04.03.2020, 10:10
Так же не понятно зачем вообще цикл в цикле... :blink:
for(let i=0; i<parents.length; i++){
for(let k=0; k<lines.length; k++){
}
}
У тебя ведь количество элементов svg и line совпадает... Можно обойтись и одним циклом.
я уже сделал то что хотел: https://codepen.io/topicstarter/pen/rNVzowd но меня смущает что я налепил очень много parentChild
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot