Les fonctions utilitaires de Prototype

Je vous ai déjà parlé de la librairie prototype précédemment. J’avais évoqué les fonctions utilitaires de celle ci.

Examinons les de manières plus précises.

La fonction $()

C’est une fonction raccourcis de la fonction DOM document.getElementById(). Elle retournera l’élément dont vous lui avez passé l’ID en paramètre.

on remplacera donc

document.getElementById('foo');

par

$('foo');

Avouez que c’est quand même plus simple et plus rapide.

Mais ce n’est pas tout. La fonction $() accepte plusieurs IDs. Ainsi les éléments seront retournés dans un tableau.

var fooArray = $('foo1', 'foo2', 'foo3');

La fonction $$()

Cette fonction permet de récupérer des éléments via un sélecteur CSS

$$('#contents a[rel]');
// -> Récupère tous les liens avec un attribut rel contenus dans l'élément d'ID "

$$('a[href="#"]');
// -> Récupère tous les liens avec un attribut href valant  "#

$$('#navbar a', '#sidebar a');
// -> Récupère tous les liens contenus dans les éléments ayant pour ID "navbar" ou "sidebar"

La fonction $F()

La fonction $F() est un autre raccourci appréciable. Elle retourne la valeur de n’importe quel contrôle de saisie, tel que input type=’text’ ou select. La fonction accepte indifféremment en argument l’id de l’élément ou l’élément lui-même.

on remplacera donc

document.getElementById('name').value;

par

$F('name');

La fonction $w()

Elle permet de spliter un chaine en tableau avec comme séparateur l’espace.

$w('pommes bananes kiwis')
// -> ['pommes', 'bananes', 'kiwis']

La fonction $A()

Prototype définit une classe Array qui étend les tableaux javascript natifs avec d’autres méthodes. $A() permet d’instancier un Array eb lui passant en paramètre un tableau (un NodeList ou un HTMLCollection).

var paras = $A(document.getElementsByTagName('p'));

La fonction $R()

La fonction $R() est simplement un raccourci pour new ObjectRange(limitebasse,limitehaute, exclurelimites).

var indice = $R(10, 20, false);
// ->indice est un tableau d'entier de 10 à 20.

$R() accepte les numériques, texte ou tout autre type supporté sémantiquement par Range.

$A($R('aa', 'ah')).join(', ')
// -> 'aa, ab, ac, ad, ae, af, ag, ah'

La fonction $H()

C’est une fonction raccourcis de création de la classe Hash, qui peut être vue comme un tableau associatif.

var objetHash = $H(a);

La fonction Try.these()

Cette fonction accepte plusieurs fonctions en paramètre et les appelle l’une après l’autre dans l’ordre jusqu’à ce que l’une d’entre elles fonctionne, elle retourne alors le résultat de la fonction dont l’appel à été fructueux.

Cela peut être utile en AJAX par exemple pour initialiser un objet XMLHttpRequest, qui diffère selon le navigateur.

Try.these(
function() { return new XMLHttpRequest() },
function() { return new ActiveXObject('Msxml2.XMLHTTP') },
function() { return new ActiveXObject('Microsoft.XMLHTTP') }
)

Voila un petit tour d’horizon des fonctions utilitaires de Prototype, qui je l’espère vous convaincra de l’utilité de l’utilisation cette librairie javascript très puissante.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *