Overleg:Document Object Model

Pagina-inhoud wordt niet ondersteund in andere talen.
Onderwerp toevoegen
Uit Wikipedia, de vrije encyclopedie
Laatste reactie: 18 jaar geleden door Taka

Ik ben me er van bewust dat dit artikel nog niet compleet is, bijvoorbeeld de verschillende versies van het DOM worden niet behandeld. In de Engelse wikipedia is daar wel enige informatie over te vinden en:Document Object Model. Wat niet is kan nog komen.

Overigens heb ik getracht het artikel enigszins begrijpelijk te maken voor mensen die niet in de materie zitten. Ik hoop dat dat gelukt is, en dat dat ook het streven van het artikel blijft. Mocht er commentaar zijn op de begrijpelijkheid, aarzel dan niet om opmerkingen op deze overlegpagina te plaatsen. Taka 2 apr 2005 16:44 (CEST)Reageren

Er mist nog een stukje over het DOM als XML-parser. Taka 22 apr 2005 07:47 (CEST)Reageren

Ik (62.131.138.42) heb het artikel wat aangepast, het is nu wat algemener want het DOM is niet alleen voor HTML en XHTML maar ook voor XML en SGML. Heb ook het stuk weggehaald dat het DOM bepaald dat er een head en body enzo moeten zijn, dat heeft echt niks met de DOM te maken maar met de DTD van HTML en XHTML. Heb ook wat eigenschappen weggehaald omdat dit gewoon de waarde van bepaalde attributen waren, en dus niet een bepaalde eigenschap van het element. Wat er bedoelt wordt met de eigenschap functie snap ik niet helemaal, heb hem maar even laten staan. Heeft iemand enig idee wat hiermee bedoelt kan zijn? Ook snap ik niet wat de ontwikkeling van het DOM te maken heeft met tag-soup, tag-soup is het schrijven van HTML met een verkeerde syntax en zonder semantiek. Ook het stukje dat tekst als eigenschap van een element met tag-soup afrekent snap ik niet, kan iemand dat wat verduidelijken? Er moet nog een klein stukje bij over wat de verschillen zijn tussen de verschillende levels en het niveau van ondersteuning. Cepheus 6 aug 2005 22:19 (CEST)Reageren

Ik kan me wel vinden in de meeste aanpassingen. Een paar antwoorden:
  • functie (method) van een element: bijvoorbeeld appendChild() en removeChild(). In het DOM wordt geen onderscheid gemaakt tussen properties en methods. Het gebruik is natuurlijk anders, maar een functie kan net als een attribuut/eigenschap (zie hieronder) aan een element worden toegevoegd:
element.returnParent = function() {return this.parentNode;}
  • HTML-soep is de oude HTML en niet verkeerde HTML. Oude HTML draaide om tekst-met-opmaaktekens. Er waren maar een beperkt aantal elementen aanspreekbaar, bijvoorbeeld form-elementen en images. Het was ook niet mogelijk om dynamisch de tekst te wijzigen (behalve dan dus tekst in een form-element). Vanaf het moment dat text een eigenschap werd van een element, en niet meer de hoofdzaak van het document, was het wel mogelijk om de tekst dynamisch te wijzigen. Er is ook wel een eigenschap innerHTML, die zelfs door Firefox is overgenomen, maar in feite is dat niet een stricte benadering, maar nog steeds een "HTML-soep"-benadering. De juiste wijze is om een textNode aan te maken en die inhoud te geven. In XHTML is dat ook de enig werkende manier: innerHTML werkt niet in XHTML.
Het verschil tussen een "attribuut" en een "eigenschap" is in het DOM afwezig of op zijn minst onduidelijk. Als je de eigenschappen (properties) van een element opvraagt, krijg je ook alle attributen (en alle functies). Daarnaast zijn de aanduidingen van de attributen/eigenschappen afhankelijk van de benaderingsmethode. Het attribuut class is gelijk aan de eigenschap (property) className.


Taka 7 aug 2005 13:03 (CEST)Reageren