A voir également:
- Changement de classe css en js
- Changer de dns - Guide
- Changement d'écriture - Guide
- Changer clavier qwerty en azerty - Guide
- Changement carte graphique - Guide
- Trait css ✓ - Forum CSS
1 réponse
Salut,
il y a plusieurs façons d'accéder à un élément l'ID est souvent la plus pratique.
Vous avez aussi Xpath
https://developer.mozilla.org/fr/docs/Introduction_%C3%A0_l'utilisation_de_XPath_avec_JavaScript
et JQuery qui permettent d'avoir les sélecteurs qu'on veut(id, tagname, class) et permet d'avoir des sélecteurs multiples parcourant tout l'arbre DOM et une syntaxe simplifiée.
ex: $('div'). sélectionne tout les div de l'arbre DOM.
Tous exploitent le DOM ( il me semble que vous l'appréhendez mal):
Dans votre code=this.changeclasse();(définit nulle part?)
this. correspond à la page(document) car toute partie de javascript se réfère d'abord à son code(lui même excluant toute balise HTML), pour utiliser le DOM il faut d'abord 'sélectionner l'élément' que l'on veut utiliser(voir exemples W3C avec document.getElementID()).
Pour utiliser .className http://www.w3schools.com/jsref/prop_html_classname.asp un exemple.
Vous avez aussi setAttribute()
http://www.w3schools.com/jsref/met_element_setattribute.asp
L'exemple utilise comme sélecteur getElementByTagName sur le premier div de la page('h1')[0].
Donc pas besoin de l'id même si pour une seule balise ciblée je trouve ça lourd à écrire.
leurs équivalents en JQuery sont .attr() et .css() qui permet d'écrire directement les propriétés de style que l'on veut pour la dernière méthode.
En javascript pur on écrira tout simplement: element.setAttribute('style','background-color:#ff0000;') alors que JQUERY.css permet de définir chaque propriété de façon plus précise(et sûre).
il y a plusieurs façons d'accéder à un élément l'ID est souvent la plus pratique.
Vous avez aussi Xpath
https://developer.mozilla.org/fr/docs/Introduction_%C3%A0_l'utilisation_de_XPath_avec_JavaScript
et JQuery qui permettent d'avoir les sélecteurs qu'on veut(id, tagname, class) et permet d'avoir des sélecteurs multiples parcourant tout l'arbre DOM et une syntaxe simplifiée.
ex: $('div'). sélectionne tout les div de l'arbre DOM.
Tous exploitent le DOM ( il me semble que vous l'appréhendez mal):
Dans votre code=this.changeclasse();(définit nulle part?)
this. correspond à la page(document) car toute partie de javascript se réfère d'abord à son code(lui même excluant toute balise HTML), pour utiliser le DOM il faut d'abord 'sélectionner l'élément' que l'on veut utiliser(voir exemples W3C avec document.getElementID()).
Pour utiliser .className http://www.w3schools.com/jsref/prop_html_classname.asp un exemple.
Vous avez aussi setAttribute()
http://www.w3schools.com/jsref/met_element_setattribute.asp
L'exemple utilise comme sélecteur getElementByTagName sur le premier div de la page('h1')[0].
Donc pas besoin de l'id même si pour une seule balise ciblée je trouve ça lourd à écrire.
leurs équivalents en JQuery sont .attr() et .css() qui permet d'écrire directement les propriétés de style que l'on veut pour la dernière méthode.
En javascript pur on écrira tout simplement: element.setAttribute('style','background-color:#ff0000;') alors que JQUERY.css permet de définir chaque propriété de façon plus précise(et sûre).