OVH Cloud OVH Cloud

js ou jquery

33 réponses
Avatar
yoyo
bonjour,

J'ai toujours été répulsif au javascript, finalement je me rend compte que
développer un site web qu'en css et php c'est un peu limite.

j'aimerais savoir s'il vaut mieux me mettre au javascript ou au jquery.


merci de vos conseils.

10 réponses

1 2 3 4
Avatar
Mickaël Wolff
SAM wrote:

Il y a une hiérarchie dans le DOM?



On parle bien d'arbre DOM, ce qui constitue une hiérarchie.

En ancien JS non DOM appelé aussi DOM.0, la hiérarchie est :

window
document
frames
forms
elements
type
value
images
src
width
height
anchors
links
href
applets
cookie
embeds



Ceci n'est pas une hiérarchie. C'est une description brève de l'API.
Cependant, je ne comprends pas pourquoi tu parles de DOM0, alors que tu
a listé les attributs de Document du DOM HTML 3.

Pour la manipulation/apprentissage du JS à l'ancienne mode (< 1.5 ?) :


La version DOM n'a rien à voir avec la version de Javascript.

De toutes façons pour les formulaires il vaut mieux travailler à
l'ancienne mode, le parsing créant l'arbre JS.DOM0 se faisant
systématiquement au chargement de la page, autant s'en servir.



Complètement d'accord, c'est meme très pratique ce DOM HTML 3 :D

Pour les DOM ultérieurs, la hiérarchie n'est que :



Ben non. En fait, je pense que tu as vécu la séparation des
responsabilités, entre l'API DOM et l'API DOM HTML.

<http://www.w3.org/TR/DOM-Level-3-Core/core.html>
<http://www.w3.org/DOM/>
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Avatar
yoyo
Mickaël Wolff wrote:

SAM wrote:

Il y a une hiérarchie dans le DOM?



On parle bien d'arbre DOM, ce qui constitue une hiérarchie.

En ancien JS non DOM appelé aussi DOM.0, la hiérarchie est :

window
document
frames
forms
elements
type
value
images
src
width
height
anchors
links
href
applets
cookie
embeds



Ceci n'est pas une hiérarchie. C'est une description brève de l'API.
Cependant, je ne comprends pas pourquoi tu parles de DOM0, alors que tu
a listé les attributs de Document du DOM HTML 3.

Pour la manipulation/apprentissage du JS à l'ancienne mode (< 1.5 ?) :


La version DOM n'a rien à voir avec la version de Javascript.

De toutes façons pour les formulaires il vaut mieux travailler à
l'ancienne mode, le parsing créant l'arbre JS.DOM0 se faisant
systématiquement au chargement de la page, autant s'en servir.



Complètement d'accord, c'est meme très pratique ce DOM HTML 3 :D

Pour les DOM ultérieurs, la hiérarchie n'est que :



Ben non. En fait, je pense que tu as vécu la séparation des
responsabilités, entre l'API DOM et l'API DOM HTML.

<http://www.w3.org/TR/DOM-Level-3-Core/core.html>
<http://www.w3.org/DOM/>



je connais pas le terme exact mais je suppose que pour modifier les object
html il faut bien connaitre le DOM
Avatar
SAM
Le 6/21/09 4:49 PM, yoyo a écrit :
SAM wrote:

ce pourra être :

var total;
if(document.getElementByName)
total = document.getElementByName('total').value;
if(document.getElementsByName)
total = document.getElementsByName('total')[0].value;
else if(document.getElementsById &&
document.getElementsById('total') )
total = document.getElementsById('total').value;
else if(document.getElementsByTagName('INPUT'))
var I = document.getElementsByTagName('INPUT'), n = I.length;
while(n--) if(I[n].name == 'total') total = I[n].value;

à condition qu'il n'y ait qu'un seul input nommé 'total'



comment tu sais qu'il faut utilisé document.getElementByName ou
document.getElementByName ou autre chose.



Justement ... on n'en sait rien ... ça dépend du navigateur, de son âge,
toussa
et c'est pourquoi on lui pose la question :
toi t'a t'y connaitre ce truc là ?

if(document.getElementByName) blabla

à rapprocher du PHP ? if(isset($truc)) { if(!empty($truc)) blabla }

Mais ... getElementByName n'existe pas.
M$ ne semble pas le connaître :
<http://msdn.microsoft.com/en-us/library/ms536438(VS.85).aspx>
MDC (Mozilla Developer Center) non plus

Essayer dans la barre d'adresse de tous tes navigateurs :

javascript:alert(typeof document.getElementByName != 'undefined');

(copier/coller et touche Entree)
Si getElementByName est connu ça affichera 'true' sinon 'false'

Vérif pour celui OK getElementsByName :
javascript:alert(typeof document.getElementsByName);
(si ça n'affiche pas 'undefined' c'est que c'est connu)


Propriétés et méthodes de l'objet window :

javascript:var t='';for(i in window) t += i + ' : ' +
window[i]+'<br>';document.write(t);document.close();

à remettre sur une seule ligne avant d'essayer.
à essayer dans plusieurs navigateurs,
les propriétés et méthodes (ou fonctions) n'y sont pas ttes les mêmes.

--
sm
Avatar
SAM
Le 6/21/09 8:15 PM, yoyo a écrit :

je connais pas le terme exact mais je suppose que pour modifier les object
html il faut bien connaitre le DOM



Pas toujours ;-)

<img src="1.jpg" alt=""
title="démo : balance entre 2 images"
style="cursor:pointer"
onclick="this.src=(this.src.indexOf('1.')<0)? '2.jpg' : '1.jpg';">

'onclick' serait un "event" (du DOM)
'this' serait du JS
'src' serait du DOM


Mais c'est mieux

<html>
<p>DOM.0 :
<a href="#"
onclick="if(document.images)
document.images['test'].src = '2.gif';
return false;">
afficher image 2</a>
<a href="#"
onclick="if(document.images)
var i = document.images['test'];
if(typeof i.size == 'undefined') i.size = i.width;
i.width = i.width==i.size? i.width*1.5 : i.size;
return false;">
zoom in/out</a>

<p>DOM.1 :
<button onclick="if(document.getElementById && !document.layers) {
var s = document.getElementById('test').style;
s.width = s.width=='90%'? '' : '90%';
}">
zoom in/out</button>

<p>
<img name="test" id="test" src="1.gif" alt="image de test">
</html>

--
sm
Avatar
SAM
Le 6/21/09 6:15 PM, Mickaël Wolff a écrit :
SAM wrote:

Il y a une hiérarchie dans le DOM?



On parle bien d'arbre DOM, ce qui constitue une hiérarchie.



Où ça ?
Qu'est-ce qu'un arbre DOM ?
Exemple ?
Si c'est first/lastChild ... ce n'est pas une hiérarchie, juste un ordre
de rangement dans le flux HTML.
Si c'est document.getElement(s)By/Id/TagName/etc, ce ne sont que des
collections
(je n'y voit pas de hierarchie, juste une cohabitation)
Si ce n'est que : objet -> méthode -> propriété
ça fait un peu court comme "hiérarchie".

En ancien JS non DOM appelé aussi DOM.0, la hiérarchie est :

window
document
frames
forms
elements
type
value
images
src
width
height
anchors
links
href
applets
cookie
embeds



Ceci n'est pas une hiérarchie. C'est une description brève de l'API.



Faudra me dire ce qu'est une hiérarchie ...
Dans mes bouquins sur le JS du siècle dernier, je pense que cette
"description" des "objets" (html, oui peut-être?) est désignée ainsi,
comme une hiérarchie.

[window > document > forms > elements] (name/type/checked/...)
ou :
elements enfants de forms enfants de document enfant de window

certains 'elements' d'un form pouvant avoir
- les attributs 'name', 'type', 'value'
- la propriété 'checked'
- les méthodes (ou events ?) onclick, onblur, onfocus

Cependant, je ne comprends pas pourquoi tu parles de DOM0, alors que tu
a listé les attributs de Document du DOM HTML 3.



Un peu de lecture ?
<http://www.quirksmode.org/js/dom0.html>

L'objet n'est pas de faire ici un cours complet, hein ?
Il était question d'une "hierarchie".
En DOM0 tu as quand même bien du mal à attraper les éléments/objets du
document autrement que par ce que tu appelles des "attributs".

Je lis sur MDC, par exemple (*) :
" alert() is a DOM method that pops up a dialog with the parameter
(string) you passed to it. Note, that it's a part of what's called DOM
level 0, or DOM0. DOM0 is a set of interfaces supported by some
browsers, but which are not a part of any DOM specification."

Donc alert() est du DOM mais ce n'est pas du DOM ... va comprendre !
Pour moi alert() est du bête JS,
oui, peut-être une "méthode", s'il faut le nommer.
En tous cas ce n'est pas une hiérarchie ni un objet.

Et document.forms est pour moi une "collection"
(les formulaires de la page)
et certainement pas un "attribut" de 'document'.
Et encore moins un attribut HTML.

Maintenant si tu veux appeler ça DOM HTML3 au lieu de DOM0 (DOM zéro)
Ma foi ...

(*)
<https://developer.mozilla.org/en/The_DOM_and_JavaScript#The_DOM_and_JavaScript_-_What_is_doing_what.3f>

Ils m'y blablatèrent un peu n'importe quoi comme :
href ou length qui seraient des propriétés DOM1
tout ça parce qu'ils parlent de méthodes DOM1
c a d des méthodes d'objets obtenus par des méthodes du DOM1 telle que
getElementsByTagName :
var anchorTags = document.getElementsByTagName("a");
alert(anchorTags.length);
Pourtant ces href ou length peuvent bien être des propriétés d'éléments
de la hiérarchie ci-haut :
alert(document.anchors.length)
alert(document.links.length)
alert(document.links[0].href)
Bon ... admettons que :
- ces 'length' ou 'href' soient des "méthodes" du DOM.0
- le 'length' d'un array soit du JS
...
pour moi, 'length' ça reste la longueur d'un objet tableau qu'il soit un
tableau d'éléments html (du DOM) ou un tableau JavaScript ne va pas
faire une différence dans sa manipulation.

Pour la manipulation/apprentissage du JS à l'ancienne mode (< 1.5 ?) :


La version DOM n'a rien à voir avec la version de Javascript.



Ha Ouais ?
Je peux utiliser du DOM1 avec NC4 qui ne cause, au mieux, que le JS 1.1 ?

Pour les DOM ultérieurs, la hiérarchie n'est que :



Ben non. En fait, je pense que tu as vécu la séparation des
responsabilités, entre l'API DOM et l'API DOM HTML.

<http://www.w3.org/TR/DOM-Level-3-Core/core.html>
<http://www.w3.org/DOM/>



??? ils ne parlent pas du DOM0
Ils causent anglais, beaucoup et technique dont des conventions de
présentation illisibles incompréhensibles.
Au moins chez quirksmode.org on a des exemples explicatifs.

--
sm
Avatar
Mickaël Wolff
SAM wrote:
On parle bien d'arbre DOM, ce qui constitue une hiérarchie.



Où ça ?
Qu'est-ce qu'un arbre DOM ?



Un arbre DOM est la représentation en objets javascript d'un document
XML. La hiérarchie est déterminée par le chainage des noeuds.

Node.parentNode et Node.childNodes sont les attributs qui assurent le
maintient de cette hiérarchie.

Si c'est first/lastChild ... ce n'est pas une hiérarchie, juste un ordre
de rangement dans le flux HTML.



Pourtant firstChild et lastChild sont des alias pour des objets
enfants. Ca fait partie intégrante de la hiérarchie.

(je n'y voit pas de hierarchie, juste une cohabitation)
Si ce n'est que : objet -> méthode -> propriété
ça fait un peu court comme "hiérarchie".



Un document XML/HTML est arbre.

Faudra me dire ce qu'est une hiérarchie ...



C'est fait je crois.

Dans mes bouquins sur le JS du siècle dernier, je pense que cette
"description" des "objets" (html, oui peut-être?) est désignée ainsi,
comme une hiérarchie.



Je n'ai jamais vu de bouquins qui expliquaient correctement ce qu'est
Ecmascript. Les seuls documents en lesquels j'ai confiance sont les
spécification du W3C, la spécification d'Ecmascript. Viennent ensuite la
documentation des implémentations d'Ecmascript. Mozilla Developper
Center pour Javascript, MSDN pour JScript.
Alors bon, les bouquins du siècle dernier, va falloir que tu les
basarde ;)

Cependant, je ne comprends pas pourquoi tu parles de DOM0, alors que
tu a listé les attributs de Document du DOM HTML 3.



Un peu de lecture ?
<http://www.quirksmode.org/js/dom0.html>



Ce n'est pas ce que je souhaitais exprimer. En fait, je m'étonnais du
fait que tu expliquais utiliser une API différente entre DOM0 et DOM3,
alors que tout ce qui est disponible dans DOM0 l'est aussi dans DOM3.

L'objet n'est pas de faire ici un cours complet, hein ?
Il était question d'une "hierarchie".
En DOM0 tu as quand même bien du mal à attraper les éléments/objets du
document autrement que par ce que tu appelles des "attributs".



Ce sont des attributs ;)


Je lis sur MDC, par exemple (*) :
" alert() is a DOM method that pops up a dialog with the parameter
(string) you passed to it. Note, that it's a part of what's called DOM
level 0, or DOM0. DOM0 is a set of interfaces supported by some
browsers, but which are not a part of any DOM specification."

Donc alert() est du DOM mais ce n'est pas du DOM ... va comprendre !
Pour moi alert() est du bête JS,



Certes, c'est maladroit. Mais il faut comprendre que l'API dénommée
DOM0 n'a jamais fait l'objet d'une spécification. On peut donc y mettre
ce qu'on veut. De toute façon, le DOM, c'est aussi betement du Javascript.

oui, peut-être une "méthode", s'il faut le nommer.
En tous cas ce n'est pas une hiérarchie ni un objet.



C'est un objet puisque toutes les fonctions sont des objets. :D


Et document.forms est pour moi une "collection"
(les formulaires de la page)



Pour moi aussi.

et certainement pas un "attribut" de 'document'.
Et encore moins un attribut HTML.



C'est pourtant également un attribut des objets HTMLDocument et
document (lorsque document instanceof Document).

Maintenant si tu veux appeler ça DOM HTML3 au lieu de DOM0 (DOM zéro)
Ma foi ...



Ben c'est surtout intéressant de comprendre. Surtout qu'en fait, on
parle abusivement de DOM 0 en lieu et place de DOM HTML Level 0.
Souvent, en fait, on ne différencie pas DOM de DOM HTML. Faudrait-il que
les ouvrages sur le sujet soient capables de différencier ce qui relève
d'Ecmascript, de ce qui relève d'une spécification indépendante.

<https://developer.mozilla.org/en/The_DOM_and_JavaScript#The_DOM_and_JavaScript_-_What_is_doing_what.3f>


Ils m'y blablatèrent un peu n'importe quoi comme :
href ou length qui seraient des propriétés DOM1



Les propriétés dont ils parlent relèvent repèctivement de DOM HTML
Level 1 (HTMLAnchorElement.href) et de DOM Level 1 (NodeList.length).

tout ça parce qu'ils parlent de méthodes DOM1
c a d des méthodes d'objets obtenus par des méthodes du DOM1 telle que
getElementsByTagName



Non, c'est parce que les objets qu'ils récupèrent implémentent une
interface issue d'une spécification de DOM.

Pourtant ces href ou length peuvent bien être des propriétés d'éléments
de la hiérarchie ci-haut :



Je pense que tu viens de pointer ce que tu ne saisie pas.

alert(document.anchors.length)


document.anchors est un NodeList dont l'API fournit un attribut length.

alert(document.links.length)


Pareil.

alert(document.links[0].href)
Bon ... admettons que :
- ces 'length' ou 'href' soient des "méthodes" du DOM.0


Des attributs.

- le 'length' d'un array soit du JS
...
pour moi, 'length' ça reste la longueur d'un objet tableau qu'il soit un
tableau d'éléments html (du DOM) ou un tableau JavaScript ne va pas
faire une différence dans sa manipulation.



Oui, mais si l'attribut indiquant la taille d'un NodeList s'appelait
size prlut^ot que length, ça ne changerait pas grand chose non plus.

Pour la manipulation/apprentissage du JS à l'ancienne mode (< 1.5 ?) :


La version DOM n'a rien à voir avec la version de Javascript.



Ha Ouais ?
Je peux utiliser du DOM1 avec NC4 qui ne cause, au mieux, que le JS 1.1 ?



L'absence d'implémentation de DOM2 n'est pas liée à la version de
Javascript. Tu pourrais très bien écrire un moteur Ecmascript équivalent
au Javascript 1.1 en le dotant d'une implémentation de DOM3.

La version de Javascript n'est liée qu'à la version de Ecmascript
implémentée.

J'ai moi-meme longtemps confondu les deux notions. La raison en est
que tout les ouvrages, et meme la documentation des navigateurs, font la
confusion.

<http://www.w3.org/TR/DOM-Level-3-Core/core.html>
<http://www.w3.org/DOM/>



??? ils ne parlent pas du DOM0



Si, mais c'est caché. Juste brièvement.

Ils causent anglais, beaucoup et technique dont des conventions de
présentation illisibles incompréhensibles.



Pour l'anglais, ce n'est pas un problème puisque le site propose des
traductions dans de nombreuses langues. quand à la lisibilité du
document... franchement...

Au moins chez quirksmode.org on a des exemples explicatifs.



Les spécifications, telles que les recommandations du W3C, les
standards ECMA, les RFC, etc sont rarement didactiques.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Avatar
Olivier Masson
SAM a écrit :

à la façon light box :
<http://www.cssplay.co.uk/menu/lightbox-hover.html>



Super ergonomique ! Tu veux voir une photo de la ligne d'en-dessous
alors que ton pointeur est au-dessus, ben tu n'as qu'à contourner la
ligne du dessus :)
Super accessible ! Mais comment fait-on pour ouvrir les images au clavier ?
Avatar
SAM
Le 6/22/09 9:42 AM, Olivier Masson a écrit :
SAM a écrit :

à la façon light box :
<http://www.cssplay.co.uk/menu/lightbox-hover.html>



Super ergonomique ! Tu veux voir une photo de la ligne d'en-dessous
alors que ton pointeur est au-dessus, ben tu n'as qu'à contourner la
ligne du dessus :)



Ce que tu es non-constructif alors ! ! !

Tu n'sais pas te faufiler entre les imagettes ?
Quel maladroit !

Sinon, tu n'aka
adapter avec celui qui slide (glisse) les thumbnails (vignettes)

Sinon tu n'as qu'à te plaindre aux concepteurs des brouteurs qui n'y
implémentent pas :focus (ou mal).
(c'est essspliqué dans les "comments")

Nonmé !

Super accessible ! Mais comment fait-on pour ouvrir les images au clavier ?



Jansérihein !
Je n'ai jamais rien su arriver à faire (d'utile) au clavier où que ce
soit sur une page web excepté le saut d'un input-texte au suivant/précédent.

Au pire peut-être sauras-tu tab-indexer et renseigner les hrefs ?


--
sm
Avatar
SAM
Le 6/22/09 4:33 AM, Mickaël Wolff a écrit :
SAM wrote:
On parle bien d'arbre DOM, ce qui constitue une hiérarchie.



Où ça ?
Qu'est-ce qu'un arbre DOM ?



Un arbre DOM est la représentation en objets javascript d'un document
XML. La hiérarchie est déterminée par le chainage des noeuds.



Ce ne serait donc que les conteneurs/contenus tels qu'on les connait
tout aussi bien en HTML qu'en CSS et qui se résume ici à :
window (qu'on zappe)
document
l'élément (ou la collection d'élements) visé(e)
body, id, name, tag ...

Node.parentNode et Node.childNodes sont les attributs qui assurent le
maintient de cette hiérarchie.



Pour moi ce ne sont que des outils d'analyse (assez ponctuels) et non
pas la colle entre les éléments. Mébon, disons que c'est le chainon.

Un document XML/HTML est arbre.



Je réserve le terme d'arbre aux collections telles qu'en "DOM HTML3"

Faudra me dire ce qu'est une hiérarchie ...



C'est fait je crois.



Bon ... admettons.
En fait ce qui me gêne quant à ta notion de hiérarchie dans ces DOM(>0)
est qu'on peut attraper/appeler un élément en-dehors de toute hiérarchie
apparente (document.élément me semble très court comme "hierarchie")
document.getElementById
document.getElementsByTagName
document.getElementsByName
sont autant de tableaux cohabitants (des *mêmes éléments* le + souvent)
Je ne vois pas la hiérarchie qui les lie.
Je parlerais (éventuellement) alors de hiérarchies (avec un S) pour les
DOM > 0 qui, lui, n'a pas de tels chevauchements/recouvrement.

Je n'ai jamais vu de bouquins qui expliquaient correctement ce qu'est
Ecmascript.



Le blème est que Ecmascript n'est apparu qu'après le Javascript et alors
qu'il était déjà utilisé pour manipuler les objets des pages HTML.
(si j'en crois ce que j'ai pu lire ici ou là ?).
Partant de là on peut bien s'occuper du JS-HTML indépendamment de
groupes norminatifs dont les préconisations (après-coup souvent) ne
reflètent pas l'implémentation des fonctionnalités dans les navigateurs
(tant celles reconnues par ces groupes que celles "indépendantes").

Les seuls documents en lesquels j'ai confiance sont les
spécification du W3C, la spécification d'Ecmascript. Viennent ensuite la
documentation des implémentations d'Ecmascript. Mozilla Developper
Center pour Javascript, MSDN pour JScript.



Sauf qu'à ce compte, au mieux, je zappe les spécifications.
(bon, disons que j'ai retenu 2 ou 3 choses de celles HTML4 ou CCS)

Alors bon, les bouquins du siècle dernier, va falloir que tu les
basarde ;)



Non, parce que le DOM.0 y est bien mieux expliqué que son omission (ou
son lèger survol ?) dans les documentations auxquelles tu fais référence.
On n'y parle plus que du DOM.3 comme si le DOM.0 n'était plus connu des
navigateurs. Normanitivité oblige ? (le DOM.0 n'a jamais été "spécifié")

Cependant, je ne comprends pas pourquoi tu parles de DOM0, alors que
tu a listé les attributs de Document du DOM HTML 3.







N'est-ce point un peu kifkif ?
La différence : *notion d'objet*, accessoirement de collections
(me semble-ce)
Cependant j'y exprimais le chainage des objets reconnus en old-JS
(la hiérarchie quoi)

Un peu de lecture ?
<http://www.quirksmode.org/js/dom0.html>



Ce n'est pas ce que je souhaitais exprimer. En fait, je m'étonnais du
fait que tu expliquais utiliser une API différente entre DOM0 et DOM3,
alors que tout ce qui est disponible dans DOM0 l'est aussi dans DOM3.



Bon, j'avoue ne pas savoir ce qu'est une API (rien que de lire ce mot
m'énerve, c'est mis à toutes les sauces).
Non je continue de différencier DOM0 et les suivants.
Les DOMs suivants le 0 ne se servent que de la hiérarchie :
window -> document --> différents tableaux (se recouvrant)
(dont des particuliers pour les tables)

L'objet n'est pas de faire ici un cours complet, hein ?
Il était question d'une "hierarchie".
En DOM0 tu as quand même bien du mal à attraper les éléments/objets du
document autrement que par ce que tu appelles des "attributs".



Ce sont des attributs ;)



Alors là, c'est déjà assez compliqué ces nuances 'méthode' 'propriété'
sans aller jusqu'à généraliser le terme d'attribut plus réservé aux
attributs internes des balises (qui normalement à mon idée ne
comprennent pas les events).
(même si on set*Attribute* n'importe quoi. Enfin ... qd ça marche :-( )

De toute façon, le DOM, c'est aussi betement du Javascript.



Pour moi le "DOM" est la partie rajouté au JS de nos grand-parents ;-)
(les fonctions nouvelles) (fonctions qui font souvent oublier les
raccourcis disponibles dans le JS de "base").
Et puis ... ce n'est pas de moi l'usage du terme DOM0 pour ce old-JS.

oui, peut-être une "méthode", s'il faut le nommer.
En tous cas ce n'est pas une hiérarchie ni un objet.



C'est un objet puisque toutes les fonctions sont des objets. :D



Rhalala ! Toujours raison ? hein ?

Et document.forms est pour moi une "collection"
(les formulaires de la page)



Pour moi aussi.



Ha! Ouf !

et certainement pas un "attribut" de 'document'.
Et encore moins un attribut HTML.



C'est pourtant également un attribut des objets HTMLDocument et
document (lorsque document instanceof Document).



Perso l'*attribut* pourrait, à la rigeur, être : type/name/id/
et, de nos jours, par extension : event
mais pas les intermédiaires tag-objets/collections.

Maintenant si tu veux appeler ça DOM HTML3 au lieu de DOM0 (DOM zéro)
Ma foi ...



Ben c'est surtout intéressant de comprendre. Surtout qu'en fait, on
parle abusivement de DOM 0 en lieu et place de DOM HTML Level 0.



Pit-être, néanmoins ... faut bien suivre la mode.

Souvent, en fait, on ne différencie pas DOM de DOM HTML. Faudrait-il que
les ouvrages sur le sujet soient capables de différencier ce qui relève
d'Ecmascript, de ce qui relève d'une spécification indépendante.



Est-ce que ça intéresse vraiment le bidouilleur (au sens large)?
Le webmaster ne se préoccupe que de la possibilité du fonctionnement de
son code, il lui faut surtout connaitre les recommandations (si elles
existent) des différents navigateurs et tenter d'arriver à s'adresser à
chacun.
Si c'était si simple de ne se référer qu'à un groupe norminatif on ne
verrait pas fleurir ces *si merveilleuses* biblis JS ... :-(

href ou length qui seraient des propriétés DOM1



Les propriétés dont ils parlent relèvent repèctivement de DOM HTML
Level 1 (HTMLAnchorElement.href) et de DOM Level 1 (NodeList.length).



sauf qu'HTMLAnchorElement n'y est pas l'arbre document.anchors
mais un truc très chiant à écrire, qui de plus recouvre l'arbre
document.links, ce dont à propos je m'offusque absolument (mélanger
torchons et serviettes et ne les appeler que serviettes)! ne reste alors
qu'à boucler sur ce tableau débile pour tenter de retrouver les liens.
Ha! c'est bô le DOM>0 !

tout ça parce qu'ils parlent de méthodes DOM1
c a d des méthodes d'objets obtenus par des méthodes du DOM1 telle
que getElementsByTagName



Non, c'est parce que les objets qu'ils récupèrent implémentent une
interface issue d'une spécification de DOM.



Pffffft ! allez ... si tu veux ... :-/
(DOM n'est jamais qu'un terme normatif de ce qui était sous-entendu par
'objet' dans le JS utilisé avant cette "normativisation")

pour moi, 'length' ça reste la longueur d'un objet tableau qu'il soit
un tableau d'éléments html (du DOM) ou un tableau JavaScript ne va pas
faire une différence dans sa manipulation.



Oui, mais si l'attribut indiquant la taille d'un NodeList s'appelait
size prlut^ot que length, ça ne changerait pas grand chose non plus.



C'est bien pourquoi je n'ai rien à battre de ces distinguos, ça reste du
JS où 'length' est 'length' pour un tableau quelqu'il soit.

L'absence d'implémentation de DOM2 n'est pas liée à la version de
Javascript. Tu pourrais très bien écrire un moteur Ecmascript équivalent
au Javascript 1.1 en le dotant d'une implémentation de DOM3.

La version de Javascript n'est liée qu'à la version de Ecmascript
implémentée.

J'ai moi-meme longtemps confondu les deux notions. La raison en est
que tout les ouvrages, et meme la documentation des navigateurs, font la
confusion.



Non, c'est seulement que c'est du vécu.
(s'il n'y a pas d'évolution du JS il n'y a pas d'évolution du DOM)
(ou lycèe de versailles)
(il est alors facile de lier les 2, ou de faire référence à l'un pour
l'autre)

Au moins chez quirksmode.org on a des exemples explicatifs.



Les spécifications, telles que les recommandations du W3C, les
standards ECMA, les RFC, etc sont rarement didactiques.



C'est pourquoi j'attends que les mordus de la réf m'expliquationnent ;-)

--
m
Avatar
Olivier Masson
SAM a écrit :

Jansérihein !
Je n'ai jamais rien su arriver à faire (d'utile) au clavier où que ce
soit sur une page web excepté le saut d'un input-texte au
suivant/précédent.




Et dire que je m'emmerde à essayer (pas à réussir hein, juste essayer
:)) de rendre mes diaporama et formulaires sous jquery accessibles au
clavier...
1 2 3 4