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

217
Visualizações
querySelectorAll Necesita seleccionar todos los divs

Necesito obtener una barra de búsqueda que funcione para estas tarjetas (solo una incluida en el código para ahorrar espacio), el js que he estado usando funcionó bien por ahora, pero recientemente tuve que agregar un nuevo div (con clase sce-all) que hizo que buscara solo algunos de los elementos o en realidad demasiados de diferentes divs y hace que la otra información se muestre: ninguno cuando busco algo de div (con clase sce-e). Cuando trato de buscar cualquier cosa en este momento, también busca desde div (con clase sce-e), solo necesito que busque desde div (con clase sce-tt) o podría ser ambos, pero muestra lo siguiente: ninguna etiqueta actualmente. Intenté cambiar el ('.card div:nth-child(2)') en js, que es la causa del problema que parece. Gracias por cualquier ayuda

 const searchEl = document.querySelector('.searchbox'); const x = document.querySelectorAll('.card div:nth-child(2)'); function search(e) { x.forEach((item, index) => { if (!item.innerHTML.toLowerCase().includes(e.target.value)) { item.parentElement.style.display = 'none'; } else { item.parentElement.style.display = 'block'; } }) } searchEl.addEventListener("keyup", search);
 <form class='searchbox'> <input class="searchbar" type="text" placeholder="Search.." name="search"> </form> <div class="main-container"> <div class="cards-vid"> <div class="video anim card"> <div class="video-wrapper"> <div class="video-wrapper-inside"> <a href="vid.mp4"><video preload="metadata"> <source src="vid.mp4#t=139" type="video/mp4"> </video></a> </div> </div> <div class="sce-all"> <div class="sce-e"><a href="none">Link Title</a><span class="length-t">0ms</span></div> <div class="sce-tt">Title</div> </div> <div class="tags-and-info"> <div class="tags"><a><span class="category-tag">Main</span></a><span class="language-edit"><a href="vid.mp4">ENG</a></span></div> <hr class="sce-hr"> <div class="sce-inf">Info<span class="seperate video-seperate"></span>0h 46m<span class="seperate video-seperate"></span>2023</div> </div> </div> </div> </div>

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Cambie x para simplemente seleccionar los divs .sce-tt . Luego, cuando decida si ocultar o mostrar el padre, use el closest('.card') para encontrar la tarjeta que lo contiene, en lugar de especificar .parent .

 const searchEl = document.querySelector('.searchbox'); const x = document.querySelectorAll('.card .sce-tt'); function search(e) { x.forEach((item, index) => { if (!item.innerHTML.toLowerCase().includes(e.target.value)) { item.closest(".card").style.display = 'none'; } else { item.closest(".card").style.display = 'block'; } }) } searchEl.addEventListener("keyup", search);
 <form class='searchbox'> <input class="searchbar" type="text" placeholder="Search.." name="search"> </form> <div class="main-container"> <div class="cards-vid"> <div class="video anim card"> <div class="video-wrapper"> <div class="video-wrapper-inside"> <a href="vid.mp4"><video preload="metadata"> <source src="vid.mp4#t=139" type="video/mp4"> </video></a> </div> </div> <div class="sce-all"> <div class="sce-e"><a href="none">Link Title</a><span class="length-t">0ms</span></div> <div class="sce-tt">Title</div> </div> <div class="tags-and-info"> <div class="tags"><a><span class="category-tag">Main</span></a><span class="language-edit"><a href="vid.mp4">ENG</a></span></div> <hr class="sce-hr"> <div class="sce-inf">Info<span class="seperate video-seperate"></span>0h 46m<span class="seperate video-seperate"></span>2023</div> </div> </div> </div> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar closest() , con esto puede tener cualquier elemento como elemento secundario en bucle porque buscará el padre más cercano con clase/Id (en este caso .card ) que puso como parámetro, y como dije en mi comentario a su pregunta podría usar const x = document.querySelectorAll('.sce-tt') o const x = document.querySelectorAll('.sce-all')

 const searchEl = document.querySelector(".searchbox"); const x = document.querySelectorAll(".sce-tt"); function search(e) { x.forEach( item => (item.closest(".card").style.display = !item.innerHTML .toLowerCase() .includes(e.target.value) ? "none" : "block") ); } searchEl.addEventListener("keyup", search);
 <form class="searchbox"> <input class="searchbar" type="text" placeholder="Search.." name="search" /> </form> <div class="main-container"> <div class="cards-vid"> <div class="video anim card"> <div class="video-wrapper"> </div> <div class="sce-all"> <div class="sce-e"> <a href="none">Link Title</a><span class="length-t">0ms</span> </div> <div class="sce-tt">Title</div> </div> <div class="tags-and-info"> <div class="tags"> <a><span class="category-tag">Main</span></a ><span class="language-edit"><a href="vid.mp4">ENG</a></span> </div> <hr class="sce-hr" /> <div class="sce-inf"> Info<span class="seperate video-seperate"></span>0h 46m<span class="seperate video-seperate"></span >2023 </div> </div> </div> <div class="video anim card"> <div class="video-wrapper"> </div> <div class="sce-all"> <div class="sce-e"> <a href="none">Link test</a><span class="length-t">0ms</span> </div> <div class="sce-tt">test</div> </div> <div class="tags-and-info"> <div class="tags"> <a><span class="category-tag">Main</span></a ><span class="language-edit"><a href="vid.mp4">ENG</a></span> </div> <hr class="sce-hr" /> <div class="sce-inf"> Info<span class="seperate video-seperate"></span>0h 46m<span class="seperate video-seperate"></span >2023 </div> </div> </div> </div> </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