Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

299
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!