Reemplazar el texto pero mantener el elemento hermano con jQuery

17/Abr/2013 41

Problema: WordPress imprime un código HTML con el siguiente formato y necesito modificar sólo el texto, manteniendo el checkbox:

<p class="login-remember">
<label>
<input name="rememberme" type="checkbox" id="rememberme"> <!-- mantener -->
Recuérdame <!-- este texto debe ser otro -->
</label>
</p>
  1. Primera solución: modificar el core del CMS, lo que no me interesa.
  2. Segunda solución: modificar el texto con jQuery, manteniendo el checkbox.

Test 1: lo obvio, reemplazar el texto con text()

$('.login-remember label').text('Recordámelo');

Ver ejemplo 1

En este caso, apesar de sólo querer reemplazar el texto también reemplaza el checkbox.

Test 2: clonar el checkbox, reemplazar el texto con html() y volver a agregar el checkbox clonado

var elemento = $('.login-remember label')
var checkbox = elemento.find('input').clone();
elemento.html(' Recordámelo').prepend(checkbox);

Ver ejemplo 2

Efectivo, no importa dónde o cómo está el texto. Limpiamos todo y volvemos a construir lo que está dentro del label.

Test 3: buscar dentro del contenido del label donde está el texto y reemplazarlo

$('label').contents().last()[0].textContent=' Recordámelo';

Ver ejemplo 3

Dependemos un poco del orden de los elementos dentro del label, pero es una sencilla solución.

¿Cuál es la mejor?

Lo dejo a criterio de cada uno, seguro hay una más rápida que otra. Finalmente no utilicé ninguna de las soluciones anteriores; edité el languages.po y volví a traducir el texto por el que quería. Pero el desafío fue interesante, y el aprendizaje quedó.

Comentarios

  1. César [#]

    ¿Y no es mejor cambiar la traducción de la cadena que queramos en el fichero de idioma que para eso está?

  2. Jorge Epuñan [#]

    César: eso fue lo q terminé haciendo, pero el reto me fue mucho más interesante. A veces la solución no es el fin, sino el camino.

  3. Pedro [#]

    $(‘.login-remember label’).child(«input»).text(‘Recordámelo’);

    No hay que hacer tanto lío de clonar ni nada. Simplemente haces un selector hacia el texto y sustituyes.

  4. Slvikd [#]

    tadalafil 20mg – liquid tadalafil generic tadalafil reviews

  5. Prfsjl [#]

    topical finasteride results – does propecia thicken hair propecia alternative

  6. Zplyhk [#]

    finasteride tablets – http://finasteridepls.com/ finasteride cost

  7. Dqobqy [#]

    hair loss regimen without propecia – finasteride for hair loss minoxidil without propecia

  8. Xsnzkg [#]

    propecia increased hair loss – propecia photo results propecia coupon

  9. Xsasig [#]

    tadalafil generique – tadalafil otc buy tadalafil online cheap

  10. Zyvzyj [#]

    tadalafil prescription online – http://xtadalafilp.com/ purchase tadalafil

  11. Byflux [#]

    Nbwiig – Buy viagra from canada sildenafil

  12. Xfdtiu [#]

    Gjyzjv – Usa pharmacy viagra generic viagra cheap

  13. Lhgllx [#]

    Cvmyri – provigil settlement Iknscu sqeoow

  14. Qommiu [#]

    Dqlqqu – ivermectin oral 0 8 Wwupon vtocrl

  15. Gxiclh [#]

    Iqjmfz – cialis for daily use Ozarfq fqofsi

  16. Sldrod [#]

    Wockdl – tadalafil generique avis Bbuftp uzzysw

  17. Vxhwda [#]

    Fwhnai – furosempi.com Yjskzr ujnygq

  18. Bqsifh [#]

    Nrfmdv – lasix uses Bwxyau txvbfv

  19. Gfglct [#]

    Yzejcs – buying clomid online Yfricz yhubmf

  20. Jispsp [#]

    Ghstmr – can you buy fluconazole online Lbxnnw ogznxj

  21. Venlcl [#]

    Ptldew – tadalafil price in south africa Bjqsxi whvgla

  22. Nyeuel [#]

    Xtztrn – cialis 5mg best price australia Kovsbs zeczdk

  23. Hrxbjw [#]

    Eakmcu – viagra cheapest prices Oikchi fypixx

  24. Mgwqow [#]

    Vnlfmj – viagra from australia Zegtou znpxef

  25. Ibsnzz [#]

    Yklwcu – buy an essay Yoonax uebdrt

  26. Aardeo [#]

    Estgry – custom writing services Oqrgqp pbjpmo

  27. Jwmctr [#]

    ivermectin 3mg dosage – ivermectin 3mg tab ivermectin uk

  28. Cbpryz [#]

    ivermectin new zealand – ivermectin oral 0 8 ivermectin lotion for scabies

  29. Rppfup [#]

    ivermectin 2 – stromectol generic stromectol ivermectin

  30. Dudukv [#]

    ivermectin brand name – stromectol 3mg stromectol for humans

  31. Znpeba [#]

    where can i buy stromectol – ivermectin 6mg stromectol online pharmacy

  32. Ajpuwx [#]

    ivermectin 80 mg – ivermectin 200 mcg ivermectin cost uk

  33. Lxbsbo [#]

    ivermectin new zealand – ivermectin price canada ivermectin 400 mg brands

  34. Williamben [#]

    viagra prices: viagra vs cialis – viagra prices
    generic viagra

  35. Zmnfrl [#]

    ivermectin lotion price – ivermectin 3mg tablets price stromectol south africa

  36. Williamben [#]

    viagra: viagra pills – online viagra
    female viagra

  37. Pvupzg [#]

    plavix pills medication – plavix otc plavix 100mg

  38. Fzfpaa [#]

    medication plavix 75 mg – clopidogrel 150 mg clopidogrel 196

  39. CharlesFek [#]

    buy cialis doctor: buy cialis rush buy cialis 36 hour online
    buy cialis tadalafil uk

  40. Urodkc [#]

    do vitality ed pills work – skyn ed pills do non prescription ed pills work

  41. Lpxwpn [#]

    best otc ed pills triple x – blood pressure pills ed ed pills for sale

Deja tu Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CSSLab