• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

193
Vistas
¿Cómo intercambiar 2 href con respecto a la presencia de un texto?

Necesito intercambiar dos href si un "texto" es exacto. Probé muchas soluciones y pensé que finalmente encontré una con una forma limpia, pero no hay cambios ni errores. ¿Tienes una explicación?

 let link_1 = document.getElementById('rempl_1').href; let link_2 = document.getElementById('rempl_2').href; $(document).ready(function() { if ( document.getElementById('custom_field').innerHTML.indexOf('remplacement') != -1) { let tmp = link_1; link_1 = link_2; link_2 = tmp; } });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <div class="row"> <span class="custom_field" id="custom_field">remplacement</span> <a class="rempl" href="my_first_url" title="original" id="rempl_1">First</a> <a class="rempl" href="my_second_url" title="remplacement" id="rempl_2">Second</a> </div>

about 3 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

¿Te refieres a esto?

Tenga en cuenta que eliminé la necesidad de jQuery ya que no lo estaba usando de todos modos

 window.addEventListener("load", function() { const custom = document.getElementById('custom_field'); if (custom.innerHTML.includes('remplacement')) { const links = document.querySelectorAll(".rempl"); const href0 = links[0].href; const href1 = links[1].href; links[0].href = href1; links[1].href = href0; } });
 <div class="row"> <span class="custom_field" id="custom_field">remplacement</span> <a class="rempl" href="my_first_url" title="original" id="rempl_1">First</a> <a class="rempl" href="my_second_url" title="remplacement" id="rempl_2">Second</a> </div>

about 3 years ago · Juan Pablo Isaza Denunciar

0

la cadena se copia como valor cuando se asigna a una nueva variable, por lo que asignar una nueva cadena a la variable no cambiará el valor original de href.

si cambiar ancla href es lo que desea, debe agregar

 document.getElementById('rempl_1').href = link_1; document.getElementById('rempl_2').href = link_2;

para este escenario, prefiero almacenar el elemento como variable:

 let a1 = document.getElementById('rempl_1'); let a2 = document.getElementById('rempl_2'); $(document).ready(function () { if ( document.getElementById('custom_field').innerHTML.includes('remplacement') ) { [a1.href, a2.href] = [a2.href, a1.href]; } });

PD: tal vez quieras escribir replacement en lugar de remplacement

about 3 years ago · Juan Pablo Isaza Denunciar
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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda