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

146
Visualizações
¿Hay alguna forma de cambiar el color de fondo de ::selección (texto seleccionado) usando JavaScript?

Quiero cambiar el fondo de mi selección de texto usando el botón HTML. ¿Hay alguna forma de cambiar el color de fondo de ::selection (texto seleccionado) usando JavaScript?

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

0

En general, cuando no es posible cambiar directamente la configuración de los pseudoelementos a través de JS, es posible establecer variables CSS utilizando JS.

Entonces, si tiene algo como esto en su hoja de estilo:

 ::selection { background-color: var(--selcolor); }

y algo como esto en tu JS:

 element.style.setProperty('--selcolor', selcolor)

funcionará.

Aquí hay un pequeño ejemplo. Cambia la variable de color de selección en el cuerpo:

 function selChange(color) { document.body.style.setProperty('--selcolor', color); }
 body { --selcolor: yellow; } ::selection { background-color: var(--selcolor); }
 <button onclick="selChange('cyan');">Cyan</button> <button onclick="selChange('magenta');">Magenta</button> <button onclick="selChange('yellow');">Yellow</button> <p>Highlight some of this text, then click a color and highlight some text...</p>

about 4 years ago · Juan Pablo Isaza Relatório

0

  • puede hacerlo alternando la clase, déle a su cuerpo una clase que tomará el estilo de selección predeterminado y creará una clase para alternarlo cuando haga clic en el botón

Aquí hay un ejemplo en CSS puro

 <!DOCTYPE html> <html> <head> <style> .body-selection-green *::selection { background: green; } .body-selection-yellow *::selection { background: yellow } </style> </head> <body class="body-selection-green"> <div> Try to select me </div> <button> change selection background</button> <script> let btn = document.getElementsByTagName("button")[0]; btn.addEventListener("click", function() { if(document.body.classList.contains("body-selection-green")) { document.body.classList.remove("body-selection-green") document.body.classList.add("body-selection-yellow") } else if(document.body.classList.contains("body-selection-yellow")) { document.body.classList.remove("body-selection-yellow") document.body.classList.add("body-selection-green") } }); </script> </body> </html>
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