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 :

Indentation du code généré en DOM


Sujet :

JavaScript

  1. #1
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut Indentation du code généré en DOM
    Bonjour,

    Je me suis fait un petit générateur DOM, en Javascript, qui tourne très bien.

    Le seul hic, c'est que lorsque je regarde le code source généré, il tient sur une seule ligne... pas très pratique à la re-lecture, notamment quand il faut y modifier certaines choses.

    Ma question est donc la suivante :

    Comment puis-je, en Javascript, ajouter des tabulations et retours à la ligne (dans le code généré), svp?

  2. #2
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    \n et \t marchent très bien.

  3. #3
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Tiens, oui, j'avais dû mal essayer précédemment...

    Merci beaucoup, ô grand Zéro... ^^

    Dis, ce n'était pas toi, le fanatique des gEBI, gBTN, etc?

    Que penses-tu de ceci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    function fnGE(){
    	if(typeof(arguments[0])=='object'){
    		arguments[1]=arguments[0][1];
    		if(arguments[0][1]=='last'){
    			arguments[1]=fnGE(arguments[0][0]).length-1;
    		}
    		arguments[0]=arguments[0][0];
    	}
    	if(document.getElementsByTagName(arguments[0])[arguments[1]]){
    		return document.getElementsByTagName(arguments[0])[arguments[1]];
    	}
    	else if(document.getElementsByName(arguments[0])[arguments[1]]){
    		return document.getElementsByName(arguments[0])[arguments[1]];
    	}
    	else if(document.getElementById(arguments[0])){
    		return document.getElementById(arguments[0]);
    	}
    	else if(!arguments[1]){
    		if(document.getElementsByTagName(arguments[0]).length==1){
    			return document.getElementsByTagName(arguments[0])[0];
    		}
    		else if(document.getElementsByTagName(arguments[0]).length!=0){
    			return document.getElementsByTagName(arguments[0]);
    		}
    		else if(document.getElementsByName(arguments[0]).length==1){
    			return document.getElementsByName(arguments[0])[0];
    		}
    		else if(document.getElementsByName(arguments[0]).length!=0){
    			return document.getElementsByName(arguments[0]);
    		}
    		else{
    			return false;
    		}
    	}
    	else{
    		return false;
    	}
    }
    Edit: Je peux le commenter, si nécessaire, mais je ne crois pas que tu en aies besoin, connaissant ton niveau... ^^

  4. #4
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    mouais je suis pas convaincu. Tu mélanges gebtn avec les autres alors que cette fonction renvoie une NodeList différente. Les autres méthodes retournent une liste d'éléments statiques, pas gebtn. Puis tu pars toujours de document. alors qu'on peut restreindre la recherche à un élement parent plus spécifique pour aller plus vite ou pas prendre des choses inutiles.

    Une meilleur idée serait d'utiliser querySelector et querySelectorAll mais bon, à cause de IE… Une autre alternative est sizzle : http://sizzlejs.com/ pour éviter de tout refaire toi même. Comme ça tu pourra utiliser des selecteurs CSS comme dans querySelector et jQuery

    Le DOM c'est casse gueule :/

  5. #5
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    En effet, concernant la node mère, je n'y avais pas pensé, merci pour l'idée, je vais corriger cela.

    En revanche...

    *- gebtn peut-être "rendu statique" par l'ajout d'un index en 2ème argument de fnGE() (à moins que je n'aie pas compris ce que tu voulais dire par statique).

    *- Je ne veux pas utiliser de bibliothèques autres que les miennes (pour des raisons de contrôle de leur contenus et ne pas avoir à ajouter leur licences dans mes productions).

    Pourquoi dis-tu que DOM est casse-gueule, stp?

    Perso, je ne me sers que de cela pour coder du xhtml et du svg (ça donne un côté plus orienté programmation à des langages qui ne sont que de la pure imbrication rébarbative) et je ne dois pas, sans arrêt passer de Notepad++ au navigateur (pour tester un élément), en passant par l'upload de fichiers.

    En fait, j'ai mon générateur, dans le navigateur, qui envoie les instructions à PHP qui les enregistre et les renvoie au navigateur en AJAX.

    De plus, en terme d'application client, ça économise énormément de ressources serveur, ça accroit la sécurité du client et, avec un bon générateur DOM, ça améliore vraiment la compatibilité inter-navigateurs ainsi que le rendu (notamment visuel).

    Enfin, par ce générateur, je suis sûr, si un élément est créé dans la page, qu'il ne contiendra que du code valide aux regard des DTDs, ça évite les erreurs dûes à ma distraction. ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Indentation du code généré
    Par garthos dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 03/11/2010, 09h50
  2. [Smarty] Indentation code généré
    Par damien77 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/04/2008, 07h21
  3. création de fichier xml : indentation du code généré
    Par DonKnacki dans le forum VBScript
    Réponses: 4
    Dernier message: 07/11/2007, 13h45
  4. [DOM] Code généré par javascript inaccessible
    Par Bowen dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/06/2007, 11h29
  5. [DOM] Indentation du xml généré
    Par Elmilouse dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/11/2006, 15h03

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