Когда вашему приложению необходимо полагаться на конкретную библиотеку класса JavaScript, вы непреднамеренно попытаетесь решить проблемы какой -либо библиотеки некоторых классов, а не языковых проблем. Например, когда я пытаюсь обернуть текст (который также может содержать HTML -элементы) с помощью элемента Div. Предположим, есть следующий HTML:
Это какой -то текст и <a href = ""> ссылка </a>
В настоящее время, если вы хотите преобразовать его в следующее:
<div> Это какой -то текст и <a href = ""> ссылка </a> <div>
Самый простой способ грубого усилия - это то, что вы можете выполнить обновления родительского элемента через свойство .innerhtml, но проблема в том, что все связанные события будут недействительными, поскольку элемент HTML будет воссоздан при использовании innerhtml. Это такой большой стакан! Таким образом, в настоящее время вы можете использовать только JavaScript для его достижения - есть недостаток и недостаток. Вот код реализации:
var newWrapper = document.createElement ('div'); while (существующий pparent.firstchild) {// переместить элемент dom, newwrapper.appendchild (существующий pparent.firstchild); }Вы не можете использовать здесь для цикла, потому что ChildNodes представляет собой набор динамических узлов, и до тех пор, пока вы перемещаете узел, это повлияет на значение его индекса. Мы используем цикл WING, чтобы обнаружить первое машинг родительского элемента. Если он возвращает значение, представляющее ложь, вы знаете, что все узлы были перемещены к новому родителю!