ugrás a tartalomhoz

Fellépkedés adott azonosítóig a DOM fán

Anonymous · 2006. Ápr. 18. (K), 10.36
Sziasztok,
olyan problémával küzdök , van több tábla egymásba ágyazva, a belső tábla cellájában van egy gomb ami törli az egyik tábla azt a sorát ahol a gomb van, a kérdésem az hogy a gomb a this.parentNode.. függvénnyel hogy tudom az megcsinálni , hogy az adott ID-vel rendelkező tábláig mennyek fel a DOM fán.
THX.
 
1

Micsoda? :D

tiny · 2006. Ápr. 18. (K), 11.29
ami törli az egyik tábla azt a sorát ahol a gomb van

Nah én konkrétan itt akadtam el a feldolgozásban :) De amúgy ha el akarsz érni egy adott id-jű elemet, akkor document.getElementById('elemidje')...
2

nem érthető a kérdés

Hodicska Gergely · 2006. Ápr. 18. (K), 14.52
Valahogy át kéne fogalmaznod a kérdésed, kicsit pontosítanod, meg egy kicsit szigorúbb mondatszerkezeted hasznánod, mert így jelen formában nem igazán érthető, hogy mit is szeretnél. És ezt ne kukacoskodásként fogd fel, hanem a mint a Te érdeked, mert a többség gyakran már fásult az ilyen kérdésektől, és ha első olvasásra nem érthető, akkor ugrik is tovább, ergó rontod az esélyed, hogy megfelelő választ kapj.


Felhő
3

DOM

Anonymous · 2006. Ápr. 18. (K), 18.55
------------------------------------------------------------------------------------------
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
|xxxx1-es tablaxxxxx|xxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxx|xxxxxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||xx2-es tablaxx|gombxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
------------------------------------------------------------------------------------------
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
|xxxx1-es tablaxxxxx|xxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxx|xxxxxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||xx2-es tablaxx|gombxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
------------------------------------------------------------------------------------------
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
|xxxx1-es tablaxxxxx|xxxxxxxxxxxxxxxxxxxxx||xxxxxxxxxxxx|xxxxxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||xx2-es tablaxx|gombxxx||
|xxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxx||-----------------------------||
------------------------------------------------------------------------------------------


Itt az ábra van 2 db egymásba ágyazott tábla de lehet akár több is, az ábrán a z 1-es táblázat három sora látható ha megnyomom a gombot a 2-es táblában akkor azt szeretném tudni hogy az 1-es tábla hányadik sorában lett a gomb megnyomva.
THX.
4

Egyszerű

janoszen · 2006. Ápr. 18. (K), 19.37
Megkapod ugye, a megkattintott HTML elemet. Aztán elkezdesz lépegetni a szülejébe, annak a szülejébe, stb rekurzívan, amíg rá nem jössz, hogy egy olyan elemet találtál, ami neked jó.
6

DOM

Anonymous · 2006. Ápr. 19. (Sze), 07.08
Ez igy ok ,de amikor lépkedek a szülőkbe felfelé akkor hogy tudom lekérni annak a szülő objecktumnak az ID-jét ahol éppen tartok ez a kérdés ??
5

generáláskor megadod

Hodicska Gergely · 2006. Ápr. 18. (K), 21.52
Ha ezt a táblázatot dinamikusan generálod (ilyen esetekben ez többnyire így van), akkor az is megoldás lehet, hogy ha generáláskor a gomb onclick vagy egyéb eseményében már eleve megadod a sor sorszámát. Ez a befoglaló sor is kaphat egy a sorszám alapján származtatható ID-t, és akkor a sorszám birtokában a kezlő függvény egy getElementById segítségével meg tudja szerezni a sorhoz tartozó DOM objektum referenciáját.


Felhő
7

DOM

Anonymous · 2006. Ápr. 19. (Sze), 07.13
Nekem olyan kérdésem van , ha csak a táblázatok ID-jét tudom és nincsenek a sorokhoz külön ID-ék rendelve és amikor lépkedek a szülőkbe felfelé akkor hogy tudom lekérni annak a szülő objecktumnak az ID-jét ahol éppen tartok ez a kérdés , mert a getElementById csak akkor jó ha az id alapján keresem az objectumot, de az objectum megvan mert abban vagyok csak annak az Id-jét hogy kérem le??
8

talán így?

Anonymous · 2006. Ápr. 19. (Sze), 07.39
id-t vagy más tulajdonságot a getAttribute() függvénnyel kaphatsz meg:

table_id=this.parentNode.getAttribute('id');


legalábbis én így képzelem a szegényes DOM ismereteimmel. :]

gex
9

while a te barátod!

Adam · 2006. Ápr. 19. (Sze), 09.49
Valami hasonló:

HTML:
  1. <input type="button" onclick="torolj(this);"/>  
És a JS kód:
  1. function torolj(_button) {  
  2.    if(!_button) { return false; }  
  3.    var _parent = _button.parentNode;  
  4.    while(_parent.parentNode && _parent.getAttribute('id') != 'keresettID') {  
  5.       _parent = _parent.parentNode;  
  6.    }  
  7.   
  8.    if(!_parent) { return false; } //Nincs meg a keresett elem, visszatérünk  
  9.   
  10.    ... //csinálsz, amit akarsz, megvan a sorod  
  11.   
  12.    return true;  
  13. }  
10

ötletbörze :)

toxin · 2006. Ápr. 19. (Sze), 14.33
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />  
  5. <title>Untitled Document</title>  
  6. <script  src="scripts/prototype.js" type="text/javascript" language="javascript"></script>  
  7. <script type="text/javascript" language="javascript">  
  8.   
  9. doSomething = function(el){  
  10.     alert(el.id);  
  11. }  
  12.   
  13. searchTable = function(el,doWhat,parentNumber){  
  14.     (el.getElementsByTagName('TABLE').length==parentNumber-1 && el.tagName=='TABLE')? doWhat(el) : searchTable(el.parentNode,doWhat,parentNumber);  
  15. }  
  16.       
  17. window.onload = function(){  
  18.     var inputTags = document.getElementsByClassName('button_searchTable');  
  19.     inputTags.each(  
  20.         function(inputTag,index){  
  21.             inputTag.onclick = function(){searchTable(this,doSomething,2);}  
  22.         }  
  23.     )  
  24. }  
  25. </script>  
  26.   
  27. </head>  
  28. <body>  
  29. <table id="keresettID2"  border="1">  
  30.     <tr>  
  31.         <td>  
  32.             <table id="keresettID" border="1">  
  33.                 <tr><td>1</td><td><input class="button_searchTable" type="button" value="kiírom id-t"/></td></tr>  
  34.                 <tr><td>2</td><td><input class="button_searchTable" type="button" value="kiírom id-t"/></td></tr>  
  35.                 <tr><td>3</td><td><input class="button_searchTable" type="button" value="kiírom id-t"/></td></tr>  
  36.             </table>  
  37.         </td>  
  38.     </tr>  
  39. </table>  
  40. </body>  
  41. </html>  
bocsesz a prototype-ért, de csak az eseménykezelőket teszi fel az input tag-ekre, mellesleg a mozilla devCenteren-en van egy egész bekezdés a témában
http://developer.mozilla.org/en/docs/Traversing_an_HTML_table_with_JavaScript_and_DOM_Interfaces