[PHP] vanaf een pointer naar een array de parent vinden*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47
Ik ben bezig met een implementatie van javascript achtige DOM bewerkingen in php, nu heb ik de DOM, maar moet ik oa de functie parentNode bouwen,

hildNodes is niet zo moeilijk, aangezien je (met als invoer een pointer naar een sub-array in de grote array) gewoon alle sub-sub array's kunt returnen.

Ik heb bijvoorbeeld:
  • object 1
  • object 2 =
    • object 2 a
    • object 2 b
  • object 3
  • object 4
  • object 5
Nu doe ik een "getElementById" zodat ik een pointer terug krijg naar bijvoorbeeld object 2b, maar nu wil ik de parentNode functie die pointer als invoer geven zodat ik daarna "object 2" (of pointer) terug kan krijgen.

Iemand enig idee? behalve nogmaals van boven naar beneden gaan zoeken naar de node die voor getElementById gevonden wordt?

[ Voor 3% gewijzigd door killercow op 23-01-2006 22:15 ]

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 20-09 23:15

NetForce1

(inspiratie == 0) -> true

Volgens mij is het het efficientst om dat bij te houden op het object zelf, de children van object 2 hebben dus een property 'parentNode' die verwijst naar object 2. xml-libs in Java doen het zo, en volgens mij firefox ook.

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Als eens naar deze pagina gekeken? Of wil je dit echt zelf gaan bouwen?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47
Michali,

Ja ik wil het inderdaad zelf gaan bouwen, dit omdat de officiele XML opties op hun bek gaan als er mangled code in gegooid wordt.

Ik denk dat ik inderdaad bij elke "object" een parentNode, en ID ga meegeven. Hiermee kan ik dan de parentNode simpel teruggeven, maar ook previousSibling, en nextSibling functies implementeren.

De parser is er, de meeste functies zijn er ook al.

Zit nu alleen beetje te tubben, of ik nou gewoon een multidimensional array moet houden of dat ik een grote multidimensionele stack van TAG objecten moet gaan bouwen.

Bij een multidimensionele stack van TAG objecten kan ik natuurlijk de functies ook mooi aan de TAGs zelf binden, en zo net als in javascript document.getElementById('blaat').parentnode.parentnode.tagName; doen.

Als ik een array gebruik moet ik alle functies op de Dom zelf aanroepen en dan de juiste pointers erin gooien, wat in weze precies andersom geschreven code nodig heeft.
code:
1
Dom-tagName(Dom->parentNode(Dom->parentNode(Dom->getElementById('blaat'))));


Ook niet zo vervelend, maar daadwerkelijk de javascript executen die ik in de html tegen kom is dan weer een slagje onhandiger.

openkat.nl al gezien?