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 :

getProperty('title') retourne "null"


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut getProperty('title') retourne "null"
    Bonjour a tous,

    je viens vers vous car je suis face à un étrange problème (étrange pour moi mais pour d'autres aussi).

    Dans un fichier .js, je cherche a afficher l'attribut title d'un div sous la forme

    alert($(nomDivConteneurPage).getProperty('title'));

    Ce qui est étrange, ce que lorsque je demande d'afficher d'autres attributs (comme la classe, l'id ...) tout se passe bien.

    Quelqu'un aurait un idée ?

    Merci d'avance à tous

  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 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 tu utilises une librairie ... prototype ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(alert($(nomDivConteneurPage).title);
    est tu sur au moins que ta balise div ait un title ...

    a priori un div ne devrait pas en avoir ...
    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 !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    En fait j'utilise plutot la librairie mootools (qui me semble-t-il se base sur prototype).

    Pour etre plus precis, j'utilise sur un div une des fonctions de mootools appelée tooltip qui permet d'afficher une infobulle (ou tooltip ). Ces tooltips se basent pour leur affichage sur la balise title de l'element auquel tu l'associe.

    j'espere avoir été clair.

    J'ai en parallele une autre question, est ce que de mettre un attribut title a un div est contraire au W3C ??

    Merci

  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 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
    contre toute attente (de ma part) mon validateur w3c en strict ne le retourne pas d'erreur ....
    div accepte donc un title ...

    et l'infobulle apparait sous IE comme sous FFX
    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 !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Une idee alors ? car j'avoue que je comprend pas pourquoi il me recupere tous mes autres attributs sauf celui-ci

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Effectivement une div possède l'attribut title :

    http://www.w3.org/TR/html401/struct/....html#edef-DIV

    pour le reste de ton script il faudrait faire qqs test simple ...
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Qu'entend tu par tests simples ?

  8. #8
    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
    Non pas d'idée particulière ...
    le test suivant semble demontrer que cela devrait fonctioner ...
    l'erreur doit être ailleurs ...

    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
    <title>Nouvelle page 1</title>
     
    <script type="text/javascript">
     
    function AlterLinks(){
    var properties=""
    var Obj=document.getElementById('one')
    for(prop in Obj){
    properties+=prop+" => "+Obj[prop]+"<br />";
    }
    document.getElementById('one').innerHTML=properties;
    alert(document.getElementById('one').title);
    }
     
    </script>
    </head>
     
    <body onload="AlterLinks();">
    <div id="one" title='coucou'>fff</div>
     
    </body>
     
    </html>
    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 !

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div title="test de titre" id="toto">
    du texte ici
    </div>
    <script type="text/javascript">
    alert(document.getElementById('toto').title);
    </script>
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Je vois pas trop je dois avouer, je vous donne tout ce que j'ai :

    Dans mon fichier js :

    alert($(nomDivConteneurPage).getProperty('title'));

    Il est important de savoir que quand je remplace title par class ou id tout fonctionne.

    Dans mon fichier .tpl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {section name="page" loop=$lesSujets}
    <div class="pageAdmin" id="div{$lesSujets[page].sujet}" {if $lesSujets[page].estLie==0}style="opacity: 0.30; filter:alpha(opacity=30);"{/if}  title="{$lesSujets[page].sujet}::cree le:{$lesSujets[page].creele};<br /> Modifie le: {$lesSujets[page].modifiele} ;<br /> Menus :{$lesSujets[page].tabMenus}" onmouseover="this.style.backgroundColor='grey'" onmouseout="this.style.backgroundColor='white'">
        <img class="imgPageAdmin" id="imgdiv{$lesSujets[page].sujet}" src="{copixurl}/img/tools/kpager.png" alt="page" />
        <a href="{copixurl}index.php?module=admin&amp;group=adminpages&amp;action=getpage&amp;sujet={$lesSujets[page].sujet}">{$lesSujets[page].sujet}</a>
        <img style="display:inline;margin-top:3px" src="{copixurl}img/tools/trash.png" alt="poub" onclick="suppPage('{$lesSujets[page].sujet}','div{$lesSujets[page].sujet}')" />
    </div>
    {/section}

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Reponse pour leChomeur :

    Mon probleme ne vient pas de la puisque comme je le precise plus haut, si je change mon 'title' par 'class' par exemple, cela fonctionne

  12. #12
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    je crois avoir trouvé mais a vérifier :
    la méthode "getProperty" utilise peut-être un tableau de propriété pour renvoyé celle utilisé en paramètre, essaye d'allez jusqu'à cette méthode
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Mais si il me renvoyait un tableau de données, il ne me retournerait pas "null" mais kkchose qui m'indiquerait qu'il s'agit d'un tableuau non ?

    De plus cela n'expliquerai pas pourquoi cela ne fonctionne pas QU'AVEC title

  14. #14
    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
    heu les br dans le title ça le fait pas !!!!!!

    essaye sans br !
    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 !

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Negatif !! meme si je remplace tout mon title par "AAAAA" il me retourne toujours true.

  16. #16
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    voila ce que je viens de trouver sur le site de mootools pour la méthode getProperty :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    getProperty: function(property){ 
    	 	                var index = Element.$attributes[property]; 
    	 	                if (index) return this[index]; 
    	 	                var flag = Element.$attributesIFlag[property] || 0; 
    	 	                if (!Client.Engine.trident || flag) return this.getAttribute(property, flag); 
     	                var node = (this.attributes) ? this.attributes[property] : null; 
    	 	                return (node) ? node.nodeValue : null;
    elle peut retourner null ...
    ( j'ai pas décortiqué le code au dessus )

    [EDIT]

    Pardon ! la nouvelle méthode utilisé par mootools ( l'autre est celle d'origine ! )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    getProperty: function(attribute){ 
                    var property = Element.Attributes.Properties[attribute]; 
    	                var value = (property) ? this[property] : this.getAttribute(attribute); 
                    return (Element.Attributes.Booleans[attribute]) ? !!value : value;
    effectivement elle peut retourner un boolean
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  17. #17
    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
    oui mais pas de br dans un attrib title !!!
    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 !

  18. #18
    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
    Et tu fais direct:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('ton_id').title)
    il te dit quoi ?
    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 !

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    J'ai du nouveau messieurs !

    Dans mon div du côté de mon tpl, il semblerait que ce soit le class="pageAdmin" qui pose problème car lorsque je l'enleve tout fonctionne correctement.

  20. #20
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pourrais tu poster le bout de code généré par le php ?
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

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