Мне нужно использовать JS для создания нового элемента внутри определенных вложенных классов в HTML. Поэтому в этом примере мне нужно создать новый диапазон с классом «paw-print» только там, где класс «collies» вложен в «собак».Добавление нового элемента в вложенные классы
Вот что я до сих пор: https://jsfiddle.net/p50e228w/6/
Проблема заключается в том, что мой нынешний JS работает по первой инстанции, но не на другой. В настоящее время у меня есть document.getElementsByClassName
, установленный в «collies», но мне нужно настроить этот класс только тогда, когда он находится внутри родительского класса «собаки».
Что мне здесь не хватает?
var span = document.createElement("span");
span.className = "paw-print";
var wrap = document.getElementsByClassName("collies");
for(var i = 0; i < wrap.length; i++) {
wrap[i].appendChild(span);
}
Я могу использовать JQuery, но я использую ваниль JS только потому, что я такой нуб и хочу, чтобы понять, что делает мой код.
Проблема с вашим 'absolute' позиционирования в CSS, а не Javascript –
я установил CSS, чтобы сделать его более точным. Вот обновленная скрипка: https://jsfiddle.net/p50e228w/3/ ... Но если бы это было просто позиционирование, разве у меня не было бы более одного пролета? – crezaii
Проблема с ['.appendChild'] (https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild) заключается в том, что она не _clone_. Если вы ссылаетесь на существующий диапазон, он просто перемещает его в новое место в документе. Вот почему ваш конечный результат имеет только 1 пролет. – Stryner