PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 02-09-2012 07:00:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

JQuery et les identifiants du DOM

Saluton,
Je pars dès demain en Crète avec Dame 4'in, Petite Dernière et son chéri pour une semaine de détente.
J'ai prévu de m'occuper l'esprit, pendant les inévitables plages de "farniente" auxquelles je ne pourrais me soustraire, par la lecture de l'ouvrage d'Éric Sarrion chez Eyrolles jQuery 1.7 & Jquery UI "Une bibliothèque pour Javascript 2° édition".
Comme ce matin tout le monde dort encore, j'en ai entamé la lecture et, dès la page 33 (Chapitre 3 Sélecteurs d'identifiants) ça commence mal.
Quelque chose heurte mon entendement

Tous les paragraphes ayant un attribut id possédant la valeur idpara1

p[id="idpara1"]

ou encore

p#idpara1

Pire encore

Tous les éléments ayant un attribut id possédant la valeur idpara1

*[id="idpara1"]

qui peut aussi s'écrire

*#idpara1

Et là, je dijoncte.
Le propre d'un attribut id, dans le DOM, n'est-il pas justement d'être unique ?
Alors à quoi tout cela rime-t-il ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#2 03-09-2012 10:06:43

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : JQuery et les identifiants du DOM

c'est l'oeuvre d'un écrivain wink big_smile

a++

Hors ligne

#3 19-09-2012 11:54:32

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : JQuery et les identifiants du DOM

Salut MK,

Parce que l'unicité n'est pas censée être globale au DOM. Chaque balise du DOM est un objet au niveau du DOM qui réponds tout comme chaque bon objet qui se respecte à des règles d'héritage. L'unicité doit se vérifier dans une arborescence donnée ou à un niveau commun donné pour rester valide.

Ainsi


<!-- exemple correct -->
<div id="arbre1">
   <div id="element1">...</div>
   <div id="element2">...</div>
</div>  
<div id="arbre2">
   <div id="element1">...</div>
   <div id="element2">...</div>
</div>

<!-- Exemple incorrect -->
<div id="arbre1">
   <div id="element1">...</div>
   <div id="element2">...</div>
</div>  
<div id="arbre1">
   <div id="elementA">...</div>
   <div id="elementB">...</div>
</div>
 

Je te concède que de telles pratiques compliquent allègrement le code dans certains cas de figure mais dans d'autres au contraire, ça peut simplifier considérablement les choses sans altérer les performances.
Dans le premier cas, l'unicité reste respectée car les objets ne sont pas les mêmes, car ils appartiennent à des objets différents donc identifiables dans le DOM comme tels.

J'espère avoir éclairé ta lanterne wink

++

Dernière modification par Jc (19-09-2012 11:56:24)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 20-09-2012 01:19:16

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : JQuery et les identifiants du DOM

Saluton, Jc,
Je vois tout à fait ce à quoi tu fais allusion, autrement dit, pour parler arborescence à l'ancienne, deux frères ne peuvent avoir le même identifiant mais, par contre, tout ascendant ou descendant de la famille ou tout élément étranger à la famille peut, dans l'absolu du DOM, avoir ce même identifiant.
J'avoue que je n'avais pas envisager cet aspect et qu'en première analyse je ne sais pas trop qu'en penser.
Ça me heurte, intellectuellement, cela m'apparaît une hérésie ou, pour être dans la mouvance du moment, une sorte de blasphème.
Mais, je te rassure, je m'en remettrais.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 24-09-2012 06:04:00

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : JQuery et les identifiants du DOM

nan,nan,nan yikes

<!-- exemple correct -->
<div id="arbre1">
   <div id="element1">...</div>
   <div id="element2">...</div>
</div>   
<div id="arbre2">
   <div id="element1">...</div>
   <div id="element2">...</div>
</div>


cet ensemble n'est pas correct

$('#element1').append('je suis ou');

fait quoi ????
comment fait tu pour "travailler" sue element1(2) ??????????

a++

Hors ligne

#6 06-10-2012 13:42:10

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : JQuery et les identifiants du DOM

Salut Pierrot,

Je partage ton avis et tu as raison. Je disais juste que c'est viable au niveau de l'héritage et du DOM. Si ton besoin est de travailler sur ton arbre comme tu viens de le proposer, cette nomenclature est à proscrire je suis bien d'accord.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums