Quando seu aplicativo precisa confiar em uma biblioteca de classes JavaScript específica, você tentará inadvertidamente resolver os problemas de alguma biblioteca de classes, em vez de problemas de idioma. Por exemplo, quando tento envolver o texto (que também pode conter elementos HTML) com um elemento div. Suponha que haja o seguinte HTML:
Este é um texto e <a href = ""> um link </a>
Neste momento, se você quiser convertê -lo para o seguinte:
<div> Este é algum texto e <a href = ""> um link </a> <div>
A maneira mais fácil de forçar bruta é que você pode executar atualizações no elemento pai através da propriedade .innerHtml, mas o problema é que toda a escuta de eventos vinculados será inválida porque um elemento HTML será recriado ao usar o InnerHTML. Este é um copo tão grande! Então, neste momento, você só pode usar o JavaScript para alcançá -lo - há uma falha e uma falha. Aqui está o código de implementação:
var newWrapper = document.createElement ('div'); while (existingParent.FirstChild) {// Mova o elemento DOM, newWrapper.appendChild (existingParent.FirstChild); }Você não pode usar um loop for aqui porque o ChildNodes é uma coleção de nós dinâmicos e, desde que você mova o nó, isso afetará seu valor de índice. Utilizamos um loop de tempo para detectar a primeira Child do elemento pai. Se ele retornar um valor representando false, você sabe que todos os nós foram movidos para o novo pai!