Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

292
Vistas
Use querySelectorAll para ocultar y deshabilitar las clases <option>

Estoy intentando adaptar una solución que encontré (aquí: https://stackoverflow.com/a/2155924/3394918 ) a un problema que tengo, y parece que no puedo hacer que funcione. Tengo varios menús generados automáticamente con elementos seleccionados que deben cambiar según las elecciones del usuario. En la pregunta vinculada anterior, el usuario quería deshabilitar las opciones según los valores, sin embargo, quiero deshabilitarlas (y habilitarlas) según la clase. Pensé que sería una transición fácil, pero no he podido darme cuenta de lo que estoy haciendo mal.

La respuesta original:

 document.querySelectorAll("#foo option").forEach(opt => { if (opt.value == "StackOverflow") { opt.disabled = true; } });

Lo que hice con eso:

 document.querySelectorAll(".models1and2Option").forEach((option) => { option.disabled = true; option.hidden = true; }); document.querySelectorAll(".model3Option").forEach((option) => { option.disabled = false; option.hidden = false; });

Donde cada opción tiene una clase basada en la elección del usuario (modelo) a la que corresponde. Ejemplo:

 <option class="model3Option" disabled hidden value="Projected Revenue: Incentive Funding">Projected Revenue: Incentive Funding</option>

No solo no cambia nada cuando pruebo, cuando pruebo console.log() document.querySelectorAll(".model3Option") la consola dice que NodeList está vacío (pero no está vacío cuando pruebo otras clases que no están adjuntas a elementos de opciones ), por lo que sospecho que tengo un error importante en mis suposiciones sobre cómo debería funcionar el código.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda