JS wyszukiwanie i zamiana tresci w divie

0

Witam.
Mam taki kod:

var f=1;
onload=function(d)

{var e={
';d':'<img src="images/emots/zeby.gif">',
':d':'<img src="images/emots/zeby.gif">',
';D':'<img src="images/emots/zeby.gif">',
':D':'<img src="images/emots/zeby.gif">',

':P':'<img src="images/emots/jezyk1.gif">',
';P':'<img src="images/emots/jezyk1.gif">',
';p':'<img src="images/emots/jezyk1.gif">',
':p':'<img src="images/emots/jezyk1.gif">',

'<rotfl>':'<img src="images/emots/jezyk1.gif">',

':]':'<img src="images/emots/jezyk1.gif">',
':)':'<img src="images/emots/wesoly.gif">',
}

for(var i in e){f?(d=document.body).innerHTML=d.innerHTML.replace(RegExp(i.replace(/([\\)?*+.^])/g,'\\'+'$1').replace(/>/g,'&gt;'),'g'),e[i]+''):(d=document.body).innerHTML=d.innerHTML.replace(RegExp('<img src="'+r+e[i]+'" alt="'+e[i]+'">','gi'),i);}
}

Problem w tym że nie wiem jak go przerobić żeby przekształcał treść ale tylko w divie o jakims id, a nie na całej stronie.

0

Sprawa jest prosta, ale najpierw sformatuj jakoś przyzwoicie ten kod.

BTW: ten skrypt może Ci skaszanić np. wszystkie funkcje obsługi zdarzenia przypisane do wszystkich elementów na stronie. Resetujesz tu document.body.innerHTML, czyli resetujesz całe drzewo dokumentu. Jeśli jakieś inne skrypty miały referencje do jakichkolwiek elementów w body, to staną się one bezużyteczne. Więc trochę to niebezpieczne ;).

0

no próbuje i próbuje i nic mi nie idzie .

 a = getElementById('tekst').innerHTML;


for(var i in e){f?(d=document.a).innerHTML=d.innerHTML.replace(RegExp(i.replace(/([\\)?*+.^])/g,'\\'+'$1').replace(/>/g,'&gt;'),'g'),e[i]+''):(d=document.a).innerHTML=d.innerHTML.replace(RegExp('<img src="'+r+e[i]+'" alt="'+e[i]+'">','gi'),i);}

Takie coś też nic nie daje. Dodam że jestem laikiem. Ktoś mnie naprowadzi na rozwiązanie?

1

Ciężko Cię naprowadzać jeśli nie masz pojęcia o JavaScripcie (bo większość laików nie ma) i nie wiesz co się dzieje w tym kodzie tylko "kombinujesz" przypadkowo.

To co piszesz w tym kodzie nie ma po prostu żadnego logicznego sensu. Nie ma niestety bata: jeśli chcesz się komunikować w jakimś języku, to musisz się go nauczyć. Mówiąc przypadkowe głoski albo całe słowa niewiele osiągniesz w dyskusji. To samo dotyczy JavaScriptu.

Żeby ogarnąć to co chcesz zrobić, musisz znać podstawy programowania strukturalnego w JavaScripcie (czyli np. pętle), przynajmniej jedną funkcję do obsługi ciągów w JS, a także podstawy DOM (wraz z innerHTML) i wyrażeń regularnych.

Jeśli Cię zapytam co robi to coś:

for (var i in e)

To co mi odpowiesz?

Albo po co napisałeś zaraz obok f? i co robi wyrażenie które tym samym zacząłeś?

Jeśli nie wiesz ani tego, ani tego, to naprawdę ciężko Ci tu będzie coś tutaj wytłumaczyć. Tak jak raczej mało sensowne byłoby tłumaczenie np. Chińczykowi jak napisać krótki list po polsku podczas gdy Chińczyk ni w ząb nie rozumie polskiego (a ja nie rozumiem chińskiego).

Może komuś się zachce Ci dać gotowca, bo jest mały, ale jak nie, to pozostaje założyć wątek w dziale Praca. Tam ludzie piszą gotowce, oczywiście za pewną opłatą. I nic to jeśli ktoś Ci to zrobi za parę złociszy i zajmie mu to zaledwie kilka minut -- potrzebna nauka JavaScriptu zajęłaby pewnie co najmniej dni, a żeby go w miarę opanować jako pierwszy język programowania, trzeba by miesięcy lub (przy normalniejszym tempie) lat ;).

1 użytkowników online, w tym zalogowanych: 0, gości: 1