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

467
Visualizações
Javascript Cambiar el texto interno del botón sin cambiar el ícono

Creé el siguiente botón y quiero cambiar el texto interno "prueba" a otra palabra.

 <button type="button" id="test"><i class="fa-2x fa-regular fa-floppy-disk"></i>test</button>

Intenté el siguiente método, puede cambiar la palabra pero también eliminé el ícono.

 $('button#bkmarktest').on('click', function(e){ e.preventDefault(); $(this).text("other"); });

¿Hay alguna manera de que solo pueda cambiar la palabra, pero manteniendo el ícono, gracias!

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

0

Lo que hace el método .text() es que sobrescribe no solo el texto sino también HTML. Lo más fácil es mover el texto dentro de <i> para que no se sobrescriba solo lo que hay dentro. Revise el ejemplo a continuación y observe que el ícono permanece; es porque en realidad es un pseudoelemento CSS y siempre es ignorado por los métodos y funciones que se ocupan del DOM.

 $('.test').on('click', function() { $(this).find('i').text(' IT WORKS!') });
 <link href='https://cdn.jsdelivr.net/fontawesome/4.7.0/css/font-awesome.min.css' rel='stylesheet'> <button class='test' type='button'> <i class="fa fa-star-o"> TEST</i> </button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório

0

No he usado jQuery desde hace mucho tiempo, así que aquí hay un ejemplo en javascript vainilla.

 const btn = document.querySelector('#test'); btn.addEventListener('click', (e) => { e.preventDefault(); // selecting span tag -> you can also give it a specific id or class if you want btn.children[1].innerText = 'other'; })
 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"/> <button type="button" id="test"> <i class="fa-2x fa-regular fa-floppy-disk"></i> <span>test</span> </button>

about 4 years ago · Juan Pablo Isaza Relatório

0

como dijo @Kunal Tanwar, envolver el texto en un lapso lo resuelve y usar Jquery este es mi enfoque ... asumiendo que el botón tiene una identificación de test

usando el método .find() para encontrar el hijo span

 <button type="button" id="test"> <i class="fa-2x fa-regular fa-floppy-disk"></i> <span>test<span> </button> $('#test').on('click', function(e){ e.preventDefault(); $(this).find('span').text("other"); });

y otra opción sería usar el selector descendiente ya que el lapso es un hijo directo del botón

 $('#test').on('click', function(e){ $('#test > span').text('other'); });
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