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 :

[getElementById] Id reconnu par CSS mais pas par getElementById


Sujet :

JavaScript

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut [getElementById] Id reconnu par CSS mais pas par getElementById
    Bonsoir, bonne soirée

    Je rencontre un phénomène étrange, dont je vous décris les circonstances :

    Une page a une noeud A dont l'id est "a". J'ajoute dynamiquement un contenu dans A, à l'aide d'innerHTML. Je récupère l'un des noeud enfants de A, disont B, et je lui applique un id, soit "b", à l'aide de « B.setAttribute ('id', 'b') ».

    A l'affichage de la page tout se passe bien, le noeud B est bien présent dans A, et les spécifications de style CSS pour l'id 'b' s'appliquent normalement. Je vérifie (avec un boite alert) que l'id de B est bien 'b'... bref, tout semble suivre sont cours normalement.

    Mais l'expression « document.getElementById('b') » renvoit imperturbablement la valeur null.

    C'est incompréhensible n'est-ce pas ? Vous y comprennez quelque-chose ?

    Je suis sous IE6.

    Avez-vous déjà constaté ce phénomène ? J'ai put trouver une solution de contournement, mais ça n'est pas trés rassurant quand-même :-/

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    IE ne connait ni setAttribute ni getAttribute. Remplace :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    B.setAttribute ('id', 'b')
    par

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Kikou Auteur,
    Citation Envoyé par Auteur
    bonjour,

    IE ne connait ni setAttribute ni getAttribute. Remplace :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    B.setAttribute ('id', 'b')
    par
    Je crois qu'il s'agit d'un malentendu au sujet d'IE, au même titre que la croyance tenace selon laquelle IE serait incapable d'interpréter le modèle de boite conforme à CSS : dans les deux cas, ce fût vrai il y a longtemps, mais ça ne l'est plus depuis tout aussi longtemps.

    Une ancienne version de la documentation DHTML pour Internet Explorer, éditée par Microsoft, et datant de 1997, parle déjà de setAttribute, et setAttribute a toujours fonctionné chez moi sur IE.

    Pour l'annecdote du modèle de boite : IE applique l'ancien (le vieux-vieux modèle), seulement en mode quirk, c'est-à-dire seulement avec les pages qui ne contiennent pas de déclaration DOCTYPE valide (ou qu'elle est incomplète). En fait, il arrive fréquement que des bugs imputées à IE soit en fait la conscéquence d'un codage non-conforme à la recommendation HTML .

    Oilà

Discussions similaires

  1. [Disque Dur] DD externe reconnu par windows 8 mais pas par le bios
    Par Marty_and_Doc dans le forum Périphériques
    Réponses: 8
    Dernier message: 19/02/2015, 22h15
  2. Réponses: 9
    Dernier message: 13/05/2008, 02h59
  3. [MySQL] left outer join et concaténation dans un tableau passe par if mais pas par else ?
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/04/2008, 15h09
  4. prompt interprété par firefox mais pas par IE
    Par calitom dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 06/02/2007, 17h58
  5. Réponses: 1
    Dernier message: 03/12/2005, 12h24

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