2009-06-18 6 views
1

En supposant que je le div html suivant que je veux reproduire ses enfants, en changeant la valeur de chaque travée dans le processusTraversant un objet JQuery et remplacer le texte

<div><span class="foo">[Name]</span> <span class="bar">[Name]</span></div> 

En utilisant jQuery je peux obtenir une référence à la "div" par

var $div = $("div"); 

puis clone comme dans

var clone = $div.children().clone(); 

Comment puis-je puis traverse le clone et changer les valeurs pour chaque span?

Répondre

3
clone.find("span").text("new value"); 

ou

clone.find("span").each(function() { 
    $(this).text("new text"); 
}); 

ou

clone.find("span.name").text("new name").siblings("span.bar").text("new bar") 

ou beaucoup d'autres façons.

1
clone.find('span').each(function() { 
    $(this).text('Hahahha'); 
}); 
0

Du haut de ma tête ...

var clone = $div.children().clone().each(function(){ 
    var textVale = $(this).text(); 
    //process the text; 
    $(this).text(textValue); 
} 
); 

Ce n'a pas été testé en aucune façon, mais j'espère que vous avez l'idée.

0

Je pense que vous pouvez faire:

clone = $div.clone(); 
clone.children.each(function(i) { 
    this.text("replacement text"); 
}); 

je ne peux pas tester maintenant, mais la page de manuel est here.

Questions connexes