Elnézést, ha nagyon láma kérdés lesz. :D
JavaScript-el, bevallom, nem nagyon kellett foglalkoznom eddig, mert más csinálta ezeket a fejlesztéseimben, de rávettem magam, hogy megtanuljam. Egész szépen el is vagyok vele már, amit kigondolok, megcsinálom benne, viszont most megakadtam, s google sem szeret eléggé.
Olyat szeretnék, hogy egy változóban megadom egy HTML elem id-jét stringként, s azt a változót tudjam használni ID-ként, azaz, dinamikusan tudjam egy-egy feladat megjelenítési helyét változtatni.
Tehát:
var cube = "d2";
document.getElementById(cube).src="valami.jpg";
Tudom, ez egy fals kód, mert ugye a cube változó egy string. Van arra megoldás, hogy azt a stringet konvertáljam ID-nek?
Előre is köszönöm a segítséget!
- 1100 megtekintés
Hozzászólások
Szerintem írd le a konkrét problémát mert gyanítom valamit félreértesz.
"stringet konvertáljam ID-nek". A javascript lehetőségeit ismerve ez így magyartalan.
- A hozzászóláshoz be kell jelentkezni
Ez nem fals kód. Pontosan így kell csinálni.
- A hozzászóláshoz be kell jelentkezni
valamiért még sem megy :S
- A hozzászóláshoz be kell jelentkezni
Van olyan taged, hogy <img src="valami" id="d2" />
?
- A hozzászóláshoz be kell jelentkezni
Van. No mindegy, átnézem a kódot egy kis pihenő után, mert lehet, már csak én nem látom a hibát.
- A hozzászóláshoz be kell jelentkezni
lehet hogy parseInt() -et keresed?
- A hozzászóláshoz be kell jelentkezni
Miért is kéne neki parseInt()? Egyrészt html-ben, xml-ben minden attribútum string típusú (legalábbis a DOM API szerint, lásd: http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#…, DOMString getAttribute(in DOMString name);
), legfeljebb meg van határozva, hogy azt a stringet miképp kell értelmezni. Az ID-k sima stringek, egy megkötéssel: egy dokumentumon belül egyedinek kell lenniük.
- A hozzászóláshoz be kell jelentkezni
már mondták előttem, így kell csinálni. legközelebb itt nézz szét pl:
https://developer.mozilla.org/En/DOM/Document.getElementById
de ugyanilyen referencia van máshol is, pl. MSDN is mérvadó, ha IE-re is fejlesztesz.
a paraméter egy string, id adattípus nincs is. és tudtommal a javascript ugyanúgy automatikusan castol mint pl. a php.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat, próbálkozok még, s ha nagyon nem megy, kukorékolok :)
- A hozzászóláshoz be kell jelentkezni
ajánlom figyelmedbe a különböző javascript library-kat pl a jquery -t és akkor pl az
<p id="poony"> <i> </p>
elemet a csshez hasonlóan így éred el:
$('#poony').prepend('8=Đ - - -');
//<p id="poony">8==Đ - - <i> </p>
No rainbow, no sugar
- A hozzászóláshoz be kell jelentkezni
Köszönöm, nézegettem már, lesz olyan feladat, melyhez használni is fogom :)
- A hozzászóláshoz be kell jelentkezni
OK, megvan a bűnös...... Azért nem jelent meg a kívánt érték, mert a scriptet a html sorok elé pakoltam, így mikor sorrendben a html jött, felülírta azt, amit előtte a javascriptel beállítottam....
Triviális banánhéj :D
- A hozzászóláshoz be kell jelentkezni
ezert is erdemes barmit (egyeb scriptek behuzasat leszamitva) a document ready esemenyenek kiadasa utanra tenni (jquery ebben is partner)
- A hozzászóláshoz be kell jelentkezni
OFF
Es ez micsoda bad practice! Elvegre rengeteg feladat lehet, amit a DOM felepitese elott elvegezhetsz. De ma mar jon a sok lama, mindent a $(document).ready()-re biz, azt jol van.
- A hozzászóláshoz be kell jelentkezni
Ez miert OFF? Ez egy erosen ON dolog ebben a topikban. Amugy meg nagyon egyszeru: van, amit a DOM felepitese elott KELL vegezni, van amit meg csak utana LEHET. Eszerint kell eldonteni, mikor mit kell hasznalni.
- A hozzászóláshoz be kell jelentkezni
egyreszt igaz, masreszt koszonom persicsb-n[a|e]k, a kulcsszavak helyretetelet :)
- A hozzászóláshoz be kell jelentkezni
[ae] vagy (a|e) :)
- A hozzászóláshoz be kell jelentkezni
nem teljesen, akkor már inkább a script lefutásakor még nem létezett az img, azért nem ment. lásd még window/document.onload eseménykezelő.
- A hozzászóláshoz be kell jelentkezni
Igen, ez lehetséges. Minden esetre tetszik a dolog, nem is értem, miért bíztam évekig másra a JS programozást. Izgalmas dolgokat lehet vele leprogramozni :)
- A hozzászóláshoz be kell jelentkezni