### Table of Contents * [GSDom][1] * [Parameters][2] * [Examples][3] * [each][4] * [Parameters][5] * [Examples][6] * [addClass][7] * [Parameters][8] * [Examples][9] * [removeClass][10] * [Parameters][11] * [Examples][12] * [removeAllClasses][13] * [Examples][14] * [replaceClass][15] * [Parameters][16] * [Examples][17] * [setAttr][18] * [Parameters][19] * [Examples][20] * [delAttr][21] * [Parameters][22] * [Examples][23] * [setHidden][24] * [Examples][25] * [setReadOnly][26] * [Examples][27] * [setDisabled][28] * [Examples][29] * [delHidden][30] * [Examples][31] * [delReadOnly][32] * [Examples][33] * [delDisabled][34] * [Examples][35] * [toggleHidden][36] * [Examples][37] * [toggleReadOnly][38] * [Examples][39] * [toggleDisabled][40] * [Examples][41] * [on][42] * [Parameters][43] * [Examples][44] * [onClick][45] * [Parameters][46] * [Examples][47] * [found][48] * [Examples][49] * [first][50] * [Parameters][51] * [Examples][52] * [last][53] * [Parameters][54] * [Examples][55] * [items][56] * [Examples][57] * [count][58] * [Examples][59] * [itemAtIndex][60] * [Parameters][61] * [Examples][62] * [version][63] * [Parameters][64] * [eachCallback][65] * [Parameters][66] * [evtCallback][67] * [Parameters][68] ## GSDom La classe GSDom est une classe écrite en pur Javascript qui permet de simplifier la manipulation du DOM. ### Parameters * `selector` **([String][69] | [HTMLElement][70])** Sélecteur utilisé ou un élément du DOM (scope est alors ignoré) * `scope` **([String][69] | [HTMLElement][70])** Sélecteur utilisé (le 1er élément trouvé est utilisé) ou un élément du DOM (optional, default `document`) ### Examples ```javascript // Ajout d'une classe `my_class` à tous les `a` $_("a").addClass("my_class"); ``` ```javascript // Ajout d'une classe `my_class` à tous les `a` enfants de `div#main` $_("a", "div#main").addClass("my_class"); ``` ```javascript // Ajout d'une classe `my_class` à tous les `a` enfants de l'élément `my_scope` du DOM let my_scope = document.querySelector("div#main"); $_("a", my_scope).addClass("my_class"); ``` ```javascript // Instanciation de GSDom avec un élément du DOM et ajout d'une classe `my_class` à cet élément let element = document.querySelector("p#intro"); $_(element).addClass("my_class"); ``` ### each Parcours de tous les éléments sélectionnés #### Parameters * `callback` **[eachCallback][71]** La fonction de rappel #### Examples ```javascript //appliquer une fonction sur tous les éléments ayant `my_class` $_(".my_class").each((item, index) => { // Do something with item et index }); ``` ### addClass Ajout d'une classe aux éléments sélectionnés #### Parameters * `className` **[String][69]** Le nom de la classe à ajouter #### Examples ```javascript $_("p","div#main").addClass("my_class"); ``` Returns **this** Chainage ### removeClass Suppression d'une classe aux éléments sélectionnés #### Parameters * `className` **[String][69]** Le nom de la classe à ajouter #### Examples ```javascript $_("p","div#main").removeClass("my_class"); ``` Returns **this** Chainage ### removeAllClasses Suppression de toutes les classes des éléments sélectionnés #### Examples ```javascript $_("p","div#main").removeAllClasses("myClass"); ``` Returns **this** Chainage ### replaceClass Remplace une classe par une autre parmi les éléments sélectionnés #### Parameters * `oldClass` **[String][69]** Nom de la classe à remplacer * `newClass` **[String][69]** Nom de la classe de remplacement #### Examples ```javascript $_("p","div#main").replaceClass("my_old_class", "my_new_class"); ``` Returns **this** Chainage ### setAttr Définit un attribut et sa valeur #### Parameters * `attr` **[String][69]** Nom de l'attribut * `value` **[String][69]** Valeur de l'attribut #### Examples ```javascript $_("input.my_class").setAttr("readonly", ""); ``` Returns **this** Chainage ### delAttr Supprime un attribut dans les éléments sélectionnés #### Parameters * `attr` **[String][69]** Nom de l'attribut à supprimer #### Examples ```javascript $_(input.my_class).delAttr("readonly"); ``` Returns **this** Chainage ### setHidden Ajoute l'attribut hidden aux éléments sélectionnés #### Examples ```javascript $_("span.my_class").setHidden(); ``` Returns **this** Chainage ### setReadOnly Ajoute l'attribut `readonly` aux éléments sélectionnés #### Examples ```javascript $_("input.my_class").setReadOnly(); ``` Returns **this** Chainage ### setDisabled Ajoute l'attribut `disabled` aux éléments sélectionnés #### Examples ```javascript $_("input.my_class").setDisabled(); ``` Returns **this** Chainage ### delHidden Supprime l'attribut `hidden` aux éléments sélectionnés #### Examples ```javascript $_("span.my_class").delHidden(); ``` Returns **this** Chainage ### delReadOnly Supprime l'attribut `readonly` aux éléments sélectionnés #### Examples ```javascript $_("input.my_class").delReadOnly(); ``` Returns **this** Chainage ### delDisabled Supprime l'attribut `disabled` aux éléments sélectionnés #### Examples ```javascript $_("input.my_class").delDisabled(); ``` Returns **this** Chainage ### toggleHidden switche l'attribut `hidden` des éléments sélectionnés #### Examples ```javascript $_("span.my_class").toggleHidden(); ``` Returns **this** Chainage ### toggleReadOnly switche l'attribut `readonly` des éléments sélectionnés #### Examples ```javascript $_("input.my_class").toggleReadOnly(); ``` Returns **this** Chainage ### toggleDisabled switche l'attribut `disabled` des éléments sélectionnés #### Examples ```javascript $_("input.my_class").toggleDisabled(); ``` Returns **this** Chainage ### on Ajoute un gestionnaire d'événement aux éléments sélectionnés #### Parameters * `type` **[String][69]** Nom de l'événement * `callback` **[evtCallback][72]** Gestionnaire de l'événement * `useCapture` **[Boolean][73]** Propagation de l'événement #### Examples ```javascript $_("button#event").on("mouseover", (evt, el) => { // Do something with evt and el }, false); ``` ### onClick Ajout d'un gestionnaire d'événement 'click' pour les éléments sélectionnés #### Parameters * `callback` **[evtCallback][72]** Gestionnaire de l'événement * `useCapture` **[Boolean][73]** Propagation de l'événement #### Examples ```javascript $_("button#event").onClick( (evt, el) => { // Do something with evt and el }, false); ``` ### found Retourne si un élément a été trouvé #### Examples ```javascript let found = $_("#main").found(); ``` Returns **[Boolean][73]** `true` si un élément au moins du DOM trouvé. `false` sinon ### first Retourne le premier élément trouvé #### Parameters * `isHTMLElement` **[Boolean][73]** `true` pour obtenir un élément du DOM, `false` pour un Objet GSDom (optional, default `false`) #### Examples ```javascript let htmlElement = $_("p.paragraphe").first(true); ``` ```javascript $_("input.my_class").first().setDisabled(); ``` Returns **[HTMLElement][70]** l'élément du DOM trouvé ### last Retourne le dernier élément trouvé #### Parameters * `isHTMLElement` **[Boolean][73]** `true` pour obtenir un élément du DOM, `false` pour un Objet GSDom (optional, default `false`) #### Examples ```javascript let htmlElement = $_("p.paragraphe").last(true); ``` ```javascript $_("input.my_class").last().setDisabled(); ``` Returns **([GSDom][74] | [HTMLElement][70])** L'élément du DOM trouvé ou un Objet GSDom correspondant pour chainage ### items Retourne un tableau des éléments du Dom sélectionnés #### Examples ```javascript let my_HTMLElements = $_("p.my_class").items(); ``` Returns **[Array][75]<[HTMLElement][70]>** les éléments du DOM sélectionnés ### count Retourne le nombre d'éléments du DOM sélectionnés #### Examples ```javascript let count = $_("p.my_class").count(); ``` ### itemAtIndex Retourne l'élément à l'index `index` parmi les éléments sélectionnés; #### Parameters * `index` **[Number][76]** Index de l'élément souhaité * `isHTMLElement` **[Boolean][73]** `true` pour obtenir un élément du DOM, `false` pour un Objet GSDom (optional, default `false`) #### Examples ```javascript let htmlElement = $_("p.paragraphe").itemAtIndex(2,true); ``` ```javascript $_("input.my_class").itemAtIndex(2).setDisabled(); ``` Returns **([GSDom][74] | [HTMLElement][70])** L'élément du DOM trouvé ou un Objet GSDom correspondant pour chainage ### version Retourne la version de la bibliothèque #### Parameters * `long` **[Boolean][73]** `true` pour obtenir la version longue Returns **[String][69]** Le numéro de version ## eachCallback * **See**: [each][4] Fonction de rappel la méthode each() Type: [Function][77] ### Parameters * `element` **[HTMLElement][70]** L'élément du DOM concerné * `index` **[number][76]** L'index de l'élément ## evtCallback * **See**: [on][42] * **See**: [onClick][45] Fonction de rappel des méthodes on() et onClick() Type: [Function][77] ### Parameters * `evt` **[Event][78]** L'événement qui s'est produit * `item` **[HTMLElement][70]** L'élément du DOM concerné par lévénement [1]: #gsdom [2]: #parameters [3]: #examples [4]: #each [5]: #parameters-1 [6]: #examples-1 [7]: #addclass [8]: #parameters-2 [9]: #examples-2 [10]: #removeclass [11]: #parameters-3 [12]: #examples-3 [13]: #removeallclasses [14]: #examples-4 [15]: #replaceclass [16]: #parameters-4 [17]: #examples-5 [18]: #setattr [19]: #parameters-5 [20]: #examples-6 [21]: #delattr [22]: #parameters-6 [23]: #examples-7 [24]: #sethidden [25]: #examples-8 [26]: #setreadonly [27]: #examples-9 [28]: #setdisabled [29]: #examples-10 [30]: #delhidden [31]: #examples-11 [32]: #delreadonly [33]: #examples-12 [34]: #deldisabled [35]: #examples-13 [36]: #togglehidden [37]: #examples-14 [38]: #togglereadonly [39]: #examples-15 [40]: #toggledisabled [41]: #examples-16 [42]: #on [43]: #parameters-7 [44]: #examples-17 [45]: #onclick [46]: #parameters-8 [47]: #examples-18 [48]: #found [49]: #examples-19 [50]: #first [51]: #parameters-9 [52]: #examples-20 [53]: #last [54]: #parameters-10 [55]: #examples-21 [56]: #items [57]: #examples-22 [58]: #count [59]: #examples-23 [60]: #itematindex [61]: #parameters-11 [62]: #examples-24 [63]: #version [64]: #parameters-12 [65]: #eachcallback [66]: #parameters-13 [67]: #evtcallback [68]: #parameters-14 [69]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String [70]: https://developer.mozilla.org/docs/Web/HTML/Element [71]: #eachcallback [72]: #evtcallback [73]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean [74]: #gsdom [75]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array [76]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number [77]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function [78]: https://developer.mozilla.org/docs/Web/API/Event