ugrás a tartalomhoz

PHP generált tartalmak elérése és módosítása JavaScript alól

reagenross · 2010. Ápr. 6. (K), 20.44
Sziasztok!

PHP-vel generáltam tartalmat adatbázisból, DIV-eket és IMG-ket. Az ablak átméretézésénél a lefutó eseménykezelő középre helyezi a tartalmakat, tehát a középen lévő tartalom mellett mindkét oldalon kb ugyanakkora lesz a háttéreből látható rész.

A problémám az, hogy DIV-ekre nem alkalmazható a getElementsByName, a getElementsByTagName viszont az összes DIV et egyszerre jelölné ki. Ez azért nem lenne jó nálam mert több eltérő x koordinátájú DIV-em van. A getElementById pedig csak az elsőnek generált elemet adja vissza.

Arra gondoltam, hogy esetleg úgy meg lehetne oldani, hogy PHP-vel egyedi ID-t generáltatok minden egyes elemnek, amelyet JS-ből el szeretnék érni, majd a JS kódhoz ezeket az Id -ket adnám hozzá PHP ből.

Ez szerintetek megvalósítható?

Vagy ha esetleg van valami más ötletetek, azt is szívesen venném. Igazából nem kód kellene hanem csak ötlet, amelyet kidolgozhatnék.
 
1

Igen!

N0r3i · 2010. Ápr. 6. (K), 21.15
Szia!

Igen, megvalósítható, sőt illik (kötelező) minden elemnek egyedi ID-t adni (vagy semmit).
Kicsit meglepett a
A getElementById pedig csak az elsőnek generált elemet adja vissza.
mondatod, ez alapján úgy tűnik, hogy több azonos ID-t is adsz.

Ha fix mennyiségű, JS-ből elérendő elemed van, akkor előre beállított, természetesen különböző ID-ket adj, ha viszont változó mennyiségű elemed van, akkor számozd az azonosítókat (pl. div_1, div_2), az JS-ből is könnyen kezelhető.

Üdv: Norbi
2

Osztályok

Poetro · 2010. Ápr. 6. (K), 21.46
  1. // Kiválasztjuk a DIV-eket.  
  2. var divs = document.getElementsByTagName('div'),  
  3.     i, div;  
  4. // Végigmegyünk a DIV-eken.  
  5. for (i = 0; i < divs.length; i++) {  
  6.   // Kiveszük az aktuális DIV-et egy változóba,   
  7.   // hogy könnyebb legyen később hivatkozni rá.  
  8.   div = divs[i];  
  9.   // Ha meghatározott osztályú az elem  
  10.   if (div.className.match(/(?:^|\s+)osztalyom(\s+|$)/)) {  
  11.     // Csinálunk vele valamit...  
  12.   }  
  13. }  
3

Köszönet a válaszokért!

reagenross · 2010. Ápr. 7. (Sze), 00.12
Köszönet a válaszokért!
4

jQuery?

szabo.b.gabor · 2010. Ápr. 7. (Sze), 12.13
Szia!

Régebben én is átestem azon amin most te, mindent megírni saját javascript-tel, mert az jobb, gyorsabb, kisebb méretű. ahogy komolyodnak a projektjeid, ez mind mind egyre inkább nem lesz igaz. szánj egy pár órát a jQuery megismerésére, nagyon hamar meg fog térülni a befektetett idő..
5

Igen ez lenne a terv hosszabb

reagenross · 2010. Ápr. 7. (Sze), 12.37
Igen ez lenne a terv hosszabb távon. De előtte meg szeretném tanulni a JS alapjait.