ULKE Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 Hei, jeg prøver å lage en funksjon som automatisk endrer tekst vha. javascript. Tenker for eksempel noe som endrer alle steder det står blå til rød og rød til blå inne i en <div>. <div id="farge">Min bil er blå, din bil er rød. Du har blå øyne, jeg har rød frakk.</div> skal altså bli til : <div id="farge">Min bil er rød, din bil er blå. Du har rød øyne, jeg har blå frakk.</div> . Dette skal da skje når man trykker på en knapp(<button onclick="funksjon">). Hvis noen hadde vært så snille å hjelpe meg med dette hadde det vært flott! På forhånd takk! Lenke til kommentar
Crowly Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 (endret) Kanskje ikke den mest elegante løsningen, men det fungerer for dette eksemplet. En liten svakhet at det som blir erstattet er alltid i lower case. <script> function endre() { // splitt streng til array var str=document.getElementById('farge').innerHTML.split(' '); // endre farge for (i in str) { if (str[i].toLowerCase().indexOf('blå')!=-1) str[i]=str[i].replace(/blå/gi,'rød'); // gi = global, case in-sensitive else if (str[i].toLowerCase().indexOf('rød')!=-1) str[i]=str[i].replace(/rød/gi,'blå'); } // skriv ut string document.getElementById('farge').innerHTML=''; for (i in str) { document.getElementById('farge').innerHTML+=str[i]+' '; } } </script> <button type="button" onclick="endre()">Endre farge</button> <div id="farge">Min bil er blå, din bil er rød. Du har blå øyne, jeg har rød frakk.</div> Vil tro det er mulig å løse dette mer elegant med regular expression, noe ala preg_replace() i PHP. Endret 5. oktober 2012 av Crowly Lenke til kommentar
Capitalist Hippie Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 (endret) <div id="farge">Min bil er blå, din bil er rød. Du har blå øyne, jeg har rød frakk.</div> skal altså bli til : <div id="farge">Min bil er rød, din bil er blå. Du har rød øyne, jeg har blå frakk.</div> . Wrap ordene "blå" og "rød" i tags (spans) i stedet! Endret 5. oktober 2012 av nostdal.org Lenke til kommentar
Crowly Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 Er ikke så praktisk å legge ord i spans hvis man vil ha en rutine hvor man kan erstatte ord basert på input, f.eks. hvis det er frakk og bil som skal erstatte i stedet for rød og blå. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå