MVPcore

MVPcore est une bibliothèque JavaScript, alternative à JQuery, très légère, plus performante et utilisant un JavaScript plus récent.
Elle fournit des raccourcis et des accès aux sélections d'objets par une syntaxe respectant les règles JavaScript plutôt qu'en mettant en place un pseudo-langage.

Son usage est très simple.

Téléchargement

Vous pouvez télécharger la dernière version :

Inclusion

Non recommandé :
<script src='http://opensource.mvp.eu/libs/_MVP.min.js'></script>
Vous pouvez aussi télécharger la bibliothèque et l'intégrer dans vos sources (meilleure solution). Dans ce cas, si vous ne désirer que le support des navigateurs plus récents, voud pouvez récupérer plutôt _MVP6.min.js, plus petit que vous devrez placer dans le même dossier que _MVP.min.js (par exemple js).
<script src='/js/_MVP.min.js'></script>

fonction _(selecteur)

Cette fonction permet d'obtenir un objet via un sélecteur. L'objet est recherché via le selecteur dans document. Si l'objet n'est pas trouvé null est renvoyé.
Exemple :
var obj=_('#toto') ;
obj.style.color='red' ;
_('div#truc').style.fontSize='20px' ;

fonction _(source, selecteur)

Cette fonction permet d'obtenir un objet via un sélecteur dans un objet parent. L'objet est recherché via le selecteur dans source. Elle admet éventuellement un premier paramètre optionnel précisant où doit être recherché l'objet voulu (sans ce paramètre l'objet est cherché dans document.
Exemple :
var ifr=_('iframe') ;
_(ifr, 'input#login').style.background = 'orange' ;

fonction _all(selecteur)

Cette fonction permet d'obtenir un ensemble d'objet via un sélecteur.
Le résultat est utilisable comme un tableau (forEach, ...) et manipulable avec les outils classiques (.length, [i]).

Exemples :
_all('input').forEach(function(inp) {
    inp.style.background = 'red' ;
}) ;

var tab=_("input[type='text']") ;
for (var i=0 ; i<tab.length ; i++)
    tab[i].style.border = 'solid 2px orange' ;
Important : le set est défini pous le style, classList et méthodes afin de s'appliquer à l'ensemble des objets.
Ainsi, la syntaxe est légère et vous connaissez les noms de paramètres (plutôt que d'utiliser le 'css' de jQuery).
Exemples :
_all('input').style.background = 'red' ;
_all( "input[type='text']").style.border = 'solid 2px orange' ;
_all('#toto > div').classList.toggle('active') ;

_all("input").addEventListener('keyup', function() {
    console.log('KeyUp', this.value ;
}) ;
De plus, le get est redéfini pour renvoyer la valeur du premier élément du tableau.

fonction _all(source, selecteur)

Comme dans le cas de la fonction _, la fonction _all peut avoir un premier paramètre source, qui indique dans quel objet on commence la recherche.

fonction _ancestor(source, selecteur, orMe)

Cette fonction remonte à partir de l'objet source pour trouver le premier objet satisfaisant la condition selecteur.
Le paramètre optionnel orMe permet de préciser (avec true) si on doit renvoyer l'objet lui-même si il satisfait le sélecteur.
Si aucun objet n'est trouvé, le retour est null.

Exemple :
var tableParent = _ancestor(obj, 'table') ;

Support des navigateurs plus anciens

MVPcore n'a pas (contrairement à jQuery) vocation à être utilisée sur de très vieux navigateurs.
Cependant, elle fonctionne sur les navigateurs récents (Firefox, Chrome, Safari, Edge) et sur Internet Explorer (qui ne supporte pas certaines fonctionnalités JavaScript (proxy) utilisées dans son codage.
Cependant, si votre projet n'a besoin que de fonctionner sur des navigateurs supportant ECMAScript 6, vous pouvez utiliser _MVP6.js (plus petit).


Cette documentation préliminaire est en cours d'écriture !