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

126
Visualizações
Alternar clase de objeto secundario

Estoy tratando de alternar la clase del objeto secundario "ul" de un objeto seleccionado, usando el siguiente código. Cuando hago clic en uno de los padres, varias clases secundarias "ul" activan y desactivan la clase en lugar de solo el elemento secundario del objeto seleccionado. Aquí está el código y un ejemplo jsfiddle. Cualquier ayuda sería muy apreciada.

js Ejemplo de violín

el CSS

 .hidden { display:none; }

el jquery

 $(document).ready(function () { $(".proDocs").click(function() { $(this).children( "ul" ).toggleClass( "hidden" ); }); });

el html

 <div> <ol type="A"> <li class="proDocs"> Procedures <ul class="hidden"> <li>Upload Pictures</li> </ul> <ol type="a"> <li class="proDocs"> Performance <ul class="hidden"> <li>Upload Pictures</li> </ul> <ol type="I"> <li class="proDocs"> Validation Documents <ul class="hidden"> <li>Upload Pictures</li> </ul> <ol type="i"> <li class="proDocs"> Evaluation <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Reports <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Certification <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Training <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> </ol> </li> <li class="proDocs"> Other Documents <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> </ol> </li> </ol> </li> </ol> </li> </ol> </div>
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Dado que tiene varios elementos anidados con la clase .proDocs , lo que ve aquí se llama burbujeo cuando hace clic en un elemento interno, activa la función y después de la función nuevamente para el contenedor superior, ya que tiene la misma clase.

Para evitar este comportamiento, puede usar stopPropagation() , ahora su código:

 $(document).ready(function() { $(".proDocs").click(function(e) { e.stopPropagation(); $(this).children("ul").toggleClass("hidden"); }); });

Nueva demostración


Nota: También puedes usar return false o preventDefault() es tu elección y cada uno tiene sus particularidades

over 4 years ago · Santiago Trujillo Relatório

0

gracias por tu pregunta

mira la siguiente solución deseo que esto te ayude

cambia tu html y la formación

 <div> <ol type="A"> <li class="proDocs"> Procedures <ul class="hidden"> <li>Upload Pictures</li> <ol type="a"> <li class="proDocs"> Performance <ul class="hidden"> <li>Upload Pictures</li> <ol type="I"> <li class="proDocs"> Validation Documents <ul class="hidden"> <li>Upload Pictures</li> <ol type="i"> <li class="proDocs"> Evaluation <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Reports <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Certification <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> <li class="proDocs"> Training <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> </ol> </ul> </li> <li class="proDocs"> Other Documents <ul class="hidden"> <li>Upload Pictures</li> </ul> </li> </ol> </ul> </li> </ol> </ul> </li> </ol> </div>

y luego cambie el siguiente código con su código javascript

 $(document).ready(function () { $(".proDocs").click(function() { $(this).children( "ul:first-child" ).toggleClass( "hidden" ); return false; }); });

deseo que esto te ayude

siéntete libre de hacerme cualquier pregunta.

over 4 years ago · Santiago Trujillo 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