ugrás a tartalomhoz

Összes O betű lecserélese egy oldalon

ExolonFlan · 2010. Jún. 25. (P), 00.05
Egy haverom megkért, hogy írjak egy JavaScript kódot ami az oldalán az összes szövegben, a kis és nagy O betűt lecseréli 0-ra. Hogyan tudnám ezt megoldani?
A problémám az, hogy nem tudtam megoldani, hogy a HTML tagek attributúmaiban ne cserélje le a betűket, gondolom valami hasonló megoldás kéne ahogy egy szintaxis kiemelő, színezi ki a szimpla szövegeket egy oldalon, de erre nem jöttem rá hogy hogy is megy ez. Valakinek van valami ötlete?
 
1

marhanagy ciklus

neogee · 2010. Jún. 25. (P), 00.40
Hát én valamiféle összetett ciklust tudnék elképzelni. Valahogy úgy, hogy fogod és egyeésvel beolvasod a html elemeket, pl a diveket stb stb és megkeresed az adott sztringben azokat a karaktereket amik neked kellenek, megkapod az indexeket, és akkor már nincsen más dolgod, mint bejárni a visszakapot index tömbödet, és szépen kicserélni a karaktereket. De őszintén szólva nem nagyon látom értelmét annak, hogy js el, kliens oldalon történjen a csere. :) Nem nagyon tudom elképzelni a szituációt, egyrészt eléggé hosszadalmas is, másrészt meg milyen eseményhez kötöd? :)

Egyébként a js-nek van egy element.getElementsByTagName() függvénye, aminek a segítségével pl az összes divet megkapod, ha jól sejtem akkor egy tömbként, amit utána már csak be kell járnod. :) Ez lehet a megoldás. :)
3

Hát én valamiféle összetett

kuka · 2010. Jún. 25. (P), 13.17
Hát én valamiféle összetett ciklust tudnék elképzelni.
Attól függ. Normális böngészőnek ennyi is elég:

var snapshot=document.evaluate('//text()',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null)
for (var i=0,l=snapshot.snapshotLength;i<l;i++)
  snapshot.snapshotItem(i).textContent=snapshot.snapshotItem(i).textContent.replace(/o/ig,'0')
De őszintén szólva nem nagyon látom értelmét annak, hogy js el, kliens oldalon történjen a csere.
Például azért, mert csak a tisztelt látogatóival akar kibabrálni (nem baj, hogy nehezebben olvassák majd a szöveget), saját magával nem (a keresők azért indexeljék helyesen).
4

értem

neogee · 2010. Júl. 1. (Cs), 16.54
Hát előfordulhat ilyen eset, bár én nem nagyon tudom elképzelni miért sulytaná az ember a ltogatókat ilyesmivel, de előfordulhat. Egyébként ennyire nem vagyok nagy js mágus...
2

jQuery.replaceText

Poetro · 2010. Jún. 25. (P), 01.12
Létezik erre egy jQuery plugin, amivel az egész kb ennyi lenne:
$('body *').replaceText(/oO/, '0');