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
// Kiválasztjuk a DIV-eket.
var divs = document.getElementsByTagName('div'),
    i, div;
// Végigmegyünk a DIV-eken.
for (i = 0; i < divs.length; i++) {
  // Kiveszük az aktuális DIV-et egy változóba, 
  // hogy könnyebb legyen később hivatkozni rá.
  div = divs[i];
  // Ha meghatározott osztályú az elem
  if (div.className.match(/(?:^|\s+)osztalyom(\s+|$)/)) {
    // Csinálunk vele valamit...
  }
}
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.