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 :

différence getElementsByTag et getchildren


Sujet :

JavaScript

  1. #21
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 178
    Points : 40
    Points
    40
    Par défaut
    je viens de tester ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var mesLignes=item.getElementsByTagName('tbody')[0].getElementsByTagName('div');
    Mais j'ai le même probléme en fait j'arrive bien a me possitionner sur le bon élément mais lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	myHandle.addEvent('mousedown', function(e) {
    			e = new Event(e).stop();
    J'ai l'erreur "cette objet ne gére pas cette propriété ou cette méthode".
    Je pense que "getElementsByTagName" ne récupére pas les objets de la même maniére que getChildren(), mais je ne comprend pas pourquoi??
    Si tu as une idées?

  2. #22
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 178
    Points : 40
    Points
    40
    Par défaut
    Par contre je viens de faire un test lorsque je met les deux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    myHandle=item.getChildren()[0].getChildren()[0].getChildren()[1].getChildren()[1].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0].getChildren()[0];
     
    var mesLignes=item.getElementsByTagName('tbody')[0].getElementsByTagName('div');
    for(i=0;i<mesLignes.length;i++)
    {
      if(mesLignes[i].id=='HandleDrag')
      {
    	myHandle=mesLignes[i];	
      }
    }
    l'erreur ne se produit plus, il faudrait peut être que j'initialise ma variable "myHandle" d'une certaine maniére?
    J'avoue être un peu perdu la et ne plus trop comprendre le comportement de javascript .......

  3. #23
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    fais une recherche sur ce forum avec "nodeCleaner"

    getChildren récupère les noeuds enfants ... et il y a selon le browser des noeuds cachés !
    Fais un test en faisant un alert du nodeName ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #24
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 178
    Points : 40
    Points
    40
    Par défaut
    je viens de recupérer le nodeCleaner dont tu me parlais.
    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
     
    var notWhitespace = /\S/;
     
    var TEXT_NODE;
    try {
       TEXT_NODE = Node.TEXT_NODE;
    } catch(e) {
       TEXT_NODE = 3;
    }
     
    var ELEMENT_NODE;
    try {
      ELEMENT_NODE = Node.ELEMENT_NODE;
    } catch(e) {
       ELEMENT_NODE = 1;
    }
     
    function cleanWhitespace(node) {
      for (var x = 0; x < node.childNodes.length; x++) {
        var childNode = node.childNodes[x];
        if ((childNode.nodeType == TEXT_NODE)&&(!notWhitespace.test(childNode.nodeValue))) {
          node.removeChild(node.childNodes[x]);
          x--;
        }
        if (childNode.nodeType == ELEMENT_NODE) {
          cleanWhitespace(childNode);
        }
      }
    }
    Je l'utilise comme suis :
    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
     
    $$('.drag .item').each(function(item){
    		cleanWhitespace(item);
     
     
    		var mesLignes=item.getElementsByTagName('tbody')[0].getElementsByTagName('div');
    		for(i=0;i<mesLignes.length;i++)
    		{
    			if(mesLignes[i].id=='HandleDrag')
    			{
    				myHandle=mesLignes[i];	
    			}
    		}
    		myHandle.addEvent('mousedown', function(e) {
    			e = new Event(e).stop();
                             };
    }
    Mais rien a faire j'ai toujours la même ereur.... je comprend toujours pas pkoi ce getelementbytagName ne retourne un objet du bon type pourtant je suis d'etre positionné sur mon div, j'ai affiché l'id de mon objet "myHandle" et il correspond bien............

  5. #25
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    tu as tenu compte du fait que tu as des table imbriqués ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #26
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 178
    Points : 40
    Points
    40
    Par défaut
    C'est a dire?
    Je comprend pas la???

  7. #27
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    euh ... non rien si tu récupères le bon id c'est que tu pointe sur le bon élément


    sinon essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    myHandle.onmousedown= function(e) {
    			e = new Event(e).stop();
                             };
    tu n'aurais pas un problème de propagation du ommousedown?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #28
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 178
    Points : 40
    Points
    40
    Par défaut
    Je viens de tester comme tu viens de me le spécifier cela fonctionne, le probléme venais d'ou ?

  9. #29
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    à priori de la méthode d'attribution du onmousedown ...
    Je crois que récemment il y a eu un post là dessus ...

    addEvent est un peu pernicieux ...


    voilà le post en question :
    http://www.developpez.net/forums/sho...light=addevent
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  3. [CR][Jetform] Quelles sont les différences ?
    Par littlecow dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/07/2002, 11h40
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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