Мне нужно, чтобы пользователь ввел разметку (таблицы), и если таблица не содержит div с классом = «таблица», мне нужно добавить div и класс. Мне нужно игнорировать любые другие дочерние элементы, такие как p, span и только целевые элементы с таблицами.
<div class="parent">
<div class="table"><table></table></div>
<div class="table"><table></table></div>
<table></table>
<div><table></table></div>
<div class="table"><table></table></div>
<p></p>
<span></span>
</div>
В приведенном выше списке узлов вы можете видеть, что для узлов с индексом 2 и 3 требуется div-оболочка с class="table", но игнорируются p и span.
[].map.call(table, (node) => {
if (!node.parentNode.classList.contains('table')) {
const parent = document.getElementsByClassName('parent');
[].map.call(parent, (nodeChild) => {
const addWrap = document.createElement('div');
addWrap.classList.add('table');
addWrap.appendChild(node);
nodeChild.append(addWrap);
});
}
});
Я пробовал это, но он добавляет узел с оберткой div внизу индекса. Как мне заставить узлы добавляться в правильном порядке с помощью div-оболочки? Спасибо.
.parent
, не соответствующие селекторуdiv.tabble
, должны быть заключены в этот элемент? - person David says reinstate Monica   schedule 15.12.2018