Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
Obtenga todos los elementos entre el tipo de elemento (h1) y envuélvalos en div

Tengo la siguiente estructura:

 <div class="wrapper"> <h1>Header 1</h1> <h2>subtitle 1</h2> <p>aaa</p> <p>bbb</p> <p>ccc</p> <h2>subtitle2</h2> <p>ddd</p> <h1>Header 2</h1> <h2>subtitle 3</h2> <p>eee</p> <p>fff</p> </div>

Quiero seleccionar todos los elementos h1 y p entre cada h1 y envolverlos en un div, así que termino con:

 <div class="wrapper"> <div> <h1>Header 1</h1> <h2>subtitle 1</h2> <p>aaa</p> <p>bbb</p> <p>ccc</p> <h2>subtitle2</h2> <p>ddd</p> </div> <div> <h1>Header 2</h1> <h2>subtitle 3</h2> <p>eee</p> <p>fff</p> </div> </div>

He intentado varias cosas como las siguientes, pero ninguna funciona perfectamente:

 $( "h1" ).prevUntil( "h1" ).wrapAll( "<div></div>" );
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

  1. Debe usar .each jQuery API para lograrlo.
 $("h1").each(function(){})
  1. .prevUntil el recorrido del nodo Dom, use .nextUntil en su lugar.

  2. para que coincida con la salida final, el script es el siguiente:

 <script> $("h1").each(function() { $(this).nextUntil( "h1" ).wrapAll( "<div></div>" ); // uncomment the two lines to move the h1 inside the wrapped div // const el = $(this).next(); // $(this).prependTo(el); }); </script>
about 4 years ago · Juan Pablo Isaza Relatório

0

Se me ocurrió esta solución donde obtiene a todos los niños y luego, si es una etiqueta h1, creará un nuevo div y moverá H1 y otros niños a él.

 var newDiv; $(document).ready(function(){ $(".wrapper").children().each(function(){ if($(this).is("h1")){ $(this).before("<div></div>"); newDiv = $(this).prev(); newDiv.append($(this)); }else{ newDiv.append($(this)); } }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="wrapper"> <h1>Header 1</h1> <h2>subtitle 1</h2> <p>aaa</p> <p>bbb</p> <p>ccc</p> <h2>subtitle2</h2> <p>ddd</p> <h1>Header 2</h1> <h2>subtitle 3</h2> <p>eee</p> <p>fff</p> </div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda