IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

$() à la place de getElementById() sympa mais comment éviter les conflits?


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Points : 6
    Points
    6
    Par défaut $() à la place de getElementById() sympa mais comment éviter les conflits?
    Bonjour,

    Je découverts dans différentes librairies qu'elles utilisent souvent cette syntaxe $("...") à la place de document.getElementById("...")

    J'ai très envie de faire la même chose et j'ai écrit une fonction toute simple qui correspond à mon niveau comparée à celles que j'ai pu croiser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function $(s){
    	return document.getElementById(s);
    }
    ça fait ce dont j'ai besoin et mon code me donne moi mal à la tête c'est magnifique

    Seulement voila mon problème parfois j'utilise aussi les librairies où j'ai vu ça donc je ne voudrait pas écraser la fonction de la librairie pour la remplacer par la mienne. J'ai donc pensé à faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ( !window.$ ){
     
    	function $(s){
    		return document.getElementById(s);
    	}
     
    }
    Je pense que mon code devrait continuer à fonctionner puisque les fonctions plus complexes des librairies en question font aussi (entre autres) ce que fait la mienne. Ai-je raison de croire ça...?


    D'autre part je me demande aussi ce qu'il se passe lorsqu'on veut utiliser sur la même page deux librairies comme mootools et jquery qui utilisent toutes les deux $() ?


    Merci d'avance pour vos réponses


    Dimalta

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    en javascript c'est la dernière déclaration qui l'emporte ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type='text/javascript'>
    function $(){
    alert('coucou')}
    function $(){
    alert('yop')}
    $()
    </script>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Salut SpaceFrog,

    en javascript c'est la dernière déclaration qui l'emporte ...
    c'est justement la dessus que je veux jouer, enfait je me dit que ce n'est pas grave que m'a fonction soit écrasée puisqu'elle fait moins de chose que celle des différentes librairies. par contre celle de la librairie ne doit pas être écrasée par la mienne.

    Jusque la tout va bien (je crois??) mais par contre je me demande ce qu'il se passe quand on utilise deux librairie comme mootools et jquery qui utilisent toutes les deux $() ..?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    il faudra faire un try catch sur $ puis tester

Discussions similaires

  1. [MySQL] Comment éviter les conflits dans une db ?
    Par Dendrite dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/12/2008, 13h28
  2. Comment éviter les pages blanches dans un état?
    Par Noline dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 16h30
  3. publipostage : comment éviter les doublons?
    Par Christophe93250 dans le forum Access
    Réponses: 15
    Dernier message: 03/01/2006, 12h08
  4. Réponses: 3
    Dernier message: 05/07/2005, 18h07
  5. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo