Lehet, hogy sok (negatív) dolgot fel lehetne sorolni, de szerintem indulásnak jó. Egyetlen észrevétel: több helyen előfordulnak "HTML elementek", én ezeket egyszerűen HTML elemeknek hívnám.
Köszi! Kíváncsi lennék ezzel kapcsolatban mások véleményére is: magyarul elemeknek szokás mondani? Mostanában szinte csak angol nyelvű cikkeket olvasok ilyen témában, ezért nem vagyok képben.
Egy másik apróság, amit már tervezek kijavítani: az objektumoknál azt írom, hogy attribútumoknak is lehet nevezni az objektum tulajdonságokat, de ez helyesen inkább property, magyarul meg marad mindenhol "tulajdonság"-nak.
DOM elem, szerintem ez teljesen korrekt. A property/attribute meg teljesen önkényes, Java-ban pl szinonímák, C#-ban van külön field, property és attribútum is, és teljesen mást jelentenek. JS-ben is vannak a C#-os propertyhez hasonló fícsörök:
var foo = {
get bar() { return 'baz'; },
set bar(val) { console.log(val); }
};
console.log(foo.bar);
foo.bar = 'qux';
Illetve van a kicsit összetettebb funkcionalitást nyújtó Object.defineProperty. Ebben az értelemben a hagyományos JS "property" ({ foo: 'bar' }) inkább a C# field fogalmának felel meg. Ennek ellenére angol szövegben mindenhol a property a használatos (szerintem ez teljesen jól van így).
Az attribútummal az a problémám, hogy a JS esetén hivatalosan másra használják ezt a szót: a property-knek vannak attribútumai! :)
Lásd pl. ezt a szócikket az MDN-en. Itt következetesen attribute-nak nevezi a writable, readable, stb. mezőket a property-k definiálásánál. Igazából az ECMAScript szabványban kéne megnézni, lehet h meg is fogom.
An ECMAScript object is a collection of properties each with zero or more attributes that determine how each property can be used
Ettől függetlenül pl a Backbone használja a model attribútum fogalmát, ami nyilván kódban propertyt jelent. Többnyire a kontextusból kiderül mire gondolunk, így fölösleges ezen rugózni.
Ha már (eddig) HTML element szerepelt, ehelyett én HTML elemet használnék, nem DOM elemet. Bár ez teljesen szubjektív vélemény, végülis a DOM (modell) HTML elemekből épül fel, tehát a DOM elemei mind HTML elemek. (Ha valamit itt összekevertem volna, kérek korrepetálást! :)) Ellenérv: míg forrásban HTML-t látunk, "a böngészőben megjelenő valami" a DOM, amit esetleg pont JS-el manipuláltunk...
Szóval maradok az eredeti javaslatnál: az element helyett elem. :)
Szerintem (főleg tanulók számára!) célszerű az objektumoknak "adni" a tulajdonságokat, és meghagyni a HTML elemek számára az attribútumokat. Így nem keverednek össze, stb...
Némi olvasgatás után arra jutottam, hogy hivatalosan a HTML element az a DOM elementek egy fajtája. Pl. a globális document objektum, illetve a szöveg node-ok nem HTML elementek. De nem hiszem h létezik ember, aki ezt megkülönbözteti :)
Tényleg nem jó, hogy a HTML elemeknek is attribútumai vannak, meg az objektumoknál is attribútumnak hívjuk őket, szóval az objektumoknál az elsődleges elnevezés "tulajdonság" lesz.
Ne haragudj, de ezzel (így) nem értek teljesen egyet. A példa amiatt jó, mert nincs HTML document, ~textnode, de:
- A Mozilla-t én nem tekintem "hivatalosnak" (maradnék a w3c-nél);
- A DOM kb értelmetlen lenne HTML element nélkül (fehér semmi). Más kérdés, hogy mivel a DOM része minden HTML elem, így "természetes", hogy van hozzájuk a DOM-ból interface.
Szóval ez is egy megközelítés igen, de attól függ (a te anyagodban is) a kifejezés használandósága, hogy az adott témában mié a fő szerep: DOM avagy HTML. (Szerk.: egyszerű: ha DOM-fv-t használsz, akkor DOM, ha innerHTML és társai... akkor is?! Kezdek becsavarodni...)
Tényleg nem jó, hogy a HTML elemeknek is attribútumai vannak
Nem baj az, az objektumoknak ne legyenek attribútumaik. Szerintem magyarul szinonimák a tulajdonsággal, de attribútumnak inkább csak (kvázi statikus) paramétert szoktunk hívni, míg a tulajdonság sokrétűbb és gyakran változó is lehet (és programozásban simán lehet függvény (eredménye) is).
Így jobban átgondolva is én helyeslem, hogy "az elsődleges elnevezés "tulajdonság" lesz".
A DOM nem kötődik a HTML-hez, így semmiképp nem értelmetlen HTML element nélkül. A DOM alapvetően egy platform- és nyelvfüggetlen mód dokumentumok szerkezetének és tartalmának eléréséhez és szerkesztéséhez. Léteznek benne speciális interfészek, amik kifejezetten XML dokumentumokhoz lettek kitalálva. Ha már a W3C specifikációkhoz ragaszkodunk.
Ha kifejezetten a HTML-es, böngészőkben található interfész képezi a vizsgálat tárgyát, szerintem a Mozilla Development Network közösség által szerkesztett dokumentumai elég "hivatalos"-nak mondhatóak, bármit értsünk ezen. Ráadásul az adott oldalon be is van linkelve a WhatWG specifikáció.
Azt mondtam kb, pont azért, amiket írsz. Ám egy kicsit elrugaszkodtál a témaindítótól: végülis itt egy js-leíráson belüli megfogalmazásról beszélünk. Akkor pedig ha nincs HTML element, ...
Általánosságban persze igazad van.
Az pedig, hogy mennyire "hivatalos" egy dokumentáció - nem szavazati kérdés. Addig, amíg a Mozzilla böngésző(js)motorjairól beszélünk, addig maradéktalanul, 100%-ban ez a hivatalos doksi. Ha viszont általános elméleti kérdésről, akkor már nem.
Megegyeztünk, viszont azt a fogalmat elmagyarázhatnád nekem - ha nem túl off -, hogy mit jelent a szabványkövető böngésző, illetve melyik böngésző az, amelyik ennek megfelel. T.i. én ilyet nem ismerek.
A DOM tree-ben DOM node-ok vannak, ezek lehetnek document node-ok, text node-ok, comment node-ok stb, vagy elementek, ami a gyakorlatban HTML elemet jelent (bár egy XHTML dokumentumban szerepelhetnek másfajta elemek is, pl. ha MathML-t ágyazol be). A text node nem element. (vö. Node.nodeType)
Egész jó
- magyar;
- érthető (a példákkal együtt).
Lehet, hogy sok (negatív) dolgot fel lehetne sorolni, de szerintem indulásnak jó. Egyetlen észrevétel: több helyen előfordulnak "HTML elementek", én ezeket egyszerűen HTML elemeknek hívnám.
Elementek vagy elemek?
Egy másik apróság, amit már tervezek kijavítani: az objektumoknál azt írom, hogy attribútumoknak is lehet nevezni az objektum tulajdonságokat, de ez helyesen inkább property, magyarul meg marad mindenhol "tulajdonság"-nak.
DOM elem, szerintem ez
Object.defineProperty
. Ebben az értelemben a hagyományos JS "property" ({ foo: 'bar' }
) inkább a C# field fogalmának felel meg. Ennek ellenére angol szövegben mindenhol a property a használatos (szerintem ez teljesen jól van így).Attribute
Lásd pl. ezt a szócikket az MDN-en. Itt következetesen attribute-nak nevezi a writable, readable, stb. mezőket a property-k definiálásánál. Igazából az ECMAScript szabványban kéne megnézni, lehet h meg is fogom.
An ECMAScript object is a
Ettől függetlenül pl a Backbone használja a model attribútum fogalmát, ami nyilván kódban propertyt jelent. Többnyire a kontextusból kiderül mire gondolunk, így fölösleges ezen rugózni.
DOM - HTML
Szóval maradok az eredeti javaslatnál: az element helyett elem. :)
Szerintem (főleg tanulók számára!) célszerű az objektumoknak "adni" a tulajdonságokat, és meghagyni a HTML elemek számára az attribútumokat. Így nem keverednek össze, stb...
DOM - HTML
Tényleg nem jó, hogy a HTML elemeknek is attribútumai vannak, meg az objektumoknál is attribútumnak hívjuk őket, szóval az objektumoknál az elsődleges elnevezés "tulajdonság" lesz.
Kicsit sántít
- A Mozilla-t én nem tekintem "hivatalosnak" (maradnék a w3c-nél);
- A DOM kb értelmetlen lenne HTML element nélkül (fehér semmi). Más kérdés, hogy mivel a DOM része minden HTML elem, így "természetes", hogy van hozzájuk a DOM-ból interface.
Szóval ez is egy megközelítés igen, de attól függ (a te anyagodban is) a kifejezés használandósága, hogy az adott témában mié a fő szerep: DOM avagy HTML. (Szerk.: egyszerű: ha DOM-fv-t használsz, akkor DOM, ha innerHTML és társai... akkor is?! Kezdek becsavarodni...)
Így jobban átgondolva is én helyeslem, hogy "az elsődleges elnevezés "tulajdonság" lesz".
A DOM nem kötődik a HTML-hez,
Ha kifejezetten a HTML-es, böngészőkben található interfész képezi a vizsgálat tárgyát, szerintem a Mozilla Development Network közösség által szerkesztett dokumentumai elég "hivatalos"-nak mondhatóak, bármit értsünk ezen. Ráadásul az adott oldalon be is van linkelve a WhatWG specifikáció.
kb !== pontosan
Általánosságban persze igazad van.
Az pedig, hogy mennyire "hivatalos" egy dokumentáció - nem szavazati kérdés. Addig, amíg a Mozzilla böngésző(js)motorjairól beszélünk, addig maradéktalanul, 100%-ban ez a hivatalos doksi. Ha viszont általános elméleti kérdésről, akkor már nem.
Legyen így, de árnyalja a
Fogalom
Hehe, ez jó ;)
A DOM tree-ben DOM node-ok
Javscript jegyzet.