Перед кем и что надо добавить:
const elements = document.querySelectorAll('li > ul');
const tag = 'span';
const text = 'hello, world!!';
Добавляем:
elements.forEach(n => {
n.before(document.createElement(tag));
n.previousSibling.textContent = text;
});
или
for (const n of elements) {
const el = document.createElement(tag);
el.innerText = text;
n.parentNode.insertBefore(el, n);
}
или
for (let i = 0; i < elements.length; i++) {
elements[i].insertAdjacentHTML('beforebegin', `<${tag}>${text}</${tag}>`);
}
или
(function insert(i, n = elements[i]) {
if (n) {
const el = document.createElement(tag);
el.appendChild(new Text(text));
n.insertAdjacentElement('beforebegin', el);
insert(-~i);
}
})(0);