2009-10-12 7 views
0

i reçu de l'aide (Select a Tag with a Selector from a Text Variable using jQuery) sur une boucle du var statique et en le remplaçant valeur, mais juste une question qui reste de lui, comment puis-je remplacer les étiquettes finded avec des étiquettes nouvellement modifiées dans la zone de textejquery .each boucle et remplacer au même endroit?

code:

var length = 30; 
var end = '...'; 
var text = `some string here with <a href="#link">http:something.com</a> more string and more links also`; 

$('<div>' + text + '</div>').find('a').each(function() { 

       var link_value = $(this).html(); 
     $(this).html(link_value.substring(0, length-1)+(link_value.length > length ? end : '')); 
// now how can i put $(this).html() back in the text area, which it was found at? 

     }); 
+0

Où est définie la «longueur»? – belugabob

+0

sa définition ci-dessus et est donc fin var :) – Basit

+0

J'ai édité ma réponse à la question précédente – Greg

Répondre

0
var length = 30; 
    var end = '...'; 
    var div = $('<div>' + text + '</div>'); 
    $(div).find('a').each(function() { 
     var link_value = $(this).html(); 
     $(this).html(link_value.substring(0, length)+(link_value.length > length ? end : '')); 
    }); 

    var text = div.html(); 
1

en fait, lors du changement de celui-ci ou l'autre, les modifications sont apportées et vous n'avez pas besoin de le remettre à la place il suffit d'utiliser la fin()

var div = $('<div>' + text + '</div>').find('a').each(function() {...}).end(); 
+0

hmmm .. je vais essayer plus tard un jour, pour voir si cela fonctionne. mais merci pour la réponse :) – Basit

Questions connexes