2010-03-01 6 views
0

Je suis nouveau à Prototype et je me demandais comment simplement "trouver" du texte dans une classe/ID et "remplacer" ce texte.Trouver et remplacer du texte avec le prototype

Mon html est comme ceci:

<div id="test"> 
    <a href="/test">test</a> 
    <a href="/test2">test2</a> 
    <a href="/test3">test3</a> 
    <a href="/test4">test4</a> 
</div> 

Et je suis en train de remplacer le « test » entre les balises <a> pour la première <a> avec le mot "success" et le second <a> avec "success2". Donc, cela ressemblerait à

<div id="test"> 
     <a href="/test">Login</a> 
     <a href="/test2">Register</a> 
     <a href="/test3">Bla</a> 
     <a href="/test4">Logout</a> 
    </div> 

Des idées pour ce faire?

+0

des idées sur celui-ci? – John

Répondre

0

est ici une approche différente à l'aide getElementsByTagName

var r=[['Login','success'],['Register','donkey'],['Bla','...'],['Logout','Are you sure?']]; 
var x=document.getElementById("test"); 
var a=x.getElementsByTagName("a"); 
for(i in a){ 
    a[i].innerHTML=a[i].innerHTML.replace(r[i][0],r[i][1]); 
} 
+0

hey merci beaucoup! – John

+0

vous êtes les bienvenus :-) – YOU

0

Avec DOM

var x=document.getElementById("test"); 
for(var i in x.childNodes){ 
    if(x.childNodes[i].tagName=='A'){ 
     x.childNodes[i].innerHTML=x.childNodes[i].innerHTML.replace(/test/,'success'); 
    } 
} 
+0

um, c'est pour les deux en fait, son looping tous les childNodes, qui comprennent à la fois une balise. – YOU

Questions connexes