Quando o senhor trabalha em um site que depende de um determinado kit de ferramentas JavaScript, acaba, sem querer, tentando resolver problemas dentro dos limites do kit de ferramentas e não da linguagem. Esse foi o caso quando tentei envolver o texto (possivelmente incluindo elementos HTML) com um DIV
. Imagine o seguinte HTML:
This is some text and <a href="">a link</a>.
E digamos que o senhor queira transformar isso no seguinte:
<div>This is some text and <a href="">a link</a>.</div>
O senhor poderia fazer um simples .innerHTML
simples no pai, mas o problema com isso é que todas as conexões de eventos seriam cortadas porque o innerHTML
cria novos elementos a partir do HTML. Que droga. Portanto, é hora de voltar ao JavaScript básico – glória para alguns e fracasso para outros. Veja como fazer isso:
var newWrapper = document.createElement('div'); while(existingParent.firstChild) { newWrapper.appendChild(existingParent.firstChild); }
Usando um for
loop não funcionará porque o childNodes
é uma coleção de nós ativos, portanto, movê-la afetaria os índices. Em vez disso, podemos fazer um loop contínuo firstChild
contínuas no pai até que um valor falso seja retornado e, então, o senhor saberá que todos os filhos foram movidos!
39 Shirts – Deixando a Mozilla
Em 2001, eu tinha acabado de me formar em uma escola de ensino médio de uma cidade pequena e estava indo para uma faculdade de uma cidade pequena. Encontrei-me no pitoresco laboratório de informática, onde os computadores de baixa qualidade apresentavam dois navegadores: Internet Explorer e Mozilla. Foi nesse laboratório que me apaixonei…
Conquistando a Síndrome do Impostor
Há dois anos, documentei minha luta contra a Síndrome do Impostor e a resposta foi imensa. Recebi mensagens de apoio e de comiseração de novos desenvolvedores da Web, engenheiros veteranos e até mesmo de pessoas de todos os níveis de experiência em outras profissões. Até me peguei lendo a postagem…
Demonstrações favoritas do CodePen II de Chris Coyier
Olá a todos! Antes de começarmos, gostaria de dizer que é muito difícil escolher os favoritos do CodePen. Não porque, como cofundador do CodePen, eu me sinta como um pai escolhendo o filho de que mais gosta (RUDE). Mas porque há tantos…