Вам не нужны вложенные циклы, один раз для tr, а затем для ввода, поскольку у вас есть только один вход и метка внутри каждого tr, так что вы можете объединить их в один запрос как tr input
. И вам не нужно использовать Array.from
, поскольку querySelectorAll
возвращает NodeList
, у которого уже есть функция forEach
.
document.querySelectorAll('tr input').forEach(input => {
const span = document.createElement('span')
span.classList.add(input.type === 'radio' ? 'dotmark' : 'checkmark')
input.parentNode.nextElementSibling.appendChild(span)
})