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

jQuery Discussion :

id, getelementbyid et tag html


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut id, getelementbyid et tag html
    Bonjour,

    Cette question devrait peut-être se trouver dans la rubrique jquery mais je ne sais pas si mon problème de javascript, de jquery ou de ma balise.

    En html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    <script type="text/javascript" src="javascript/jquery.js"></script>
    ...
    <p>
    	<label id="lheure" >heure locale</label>
    </p>
    En js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function Affiche(){	
    	alert( document.getElementById("lheure").innerHTML );
    	alert( $("lheure").innerHTML );
    }
    Le premier alert affiche: "heure locale"
    Le second affiche: "undefined"

    le $ de jquery n'est-il pas censé renvoyer la même chose que document.getElementById ??

    Papy !

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Oui elle devrait être dans jquery ...
    Elle concerne en effet un souci de syntaxe au niveau du selecteur :
    En jquery pour selectionner sur l'id il faut mettre # devant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function Affiche(){	
    	alert( document.getElementById("lheure").innerHTML );
    	alert( $("#lheure").innerHTML );
    }
    Un petit topo sur les bases des selecteurs en jquery http://www.developpez.net/forums/d89...y/#post5108986
    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 chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    bjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    alert(document.getElementById("lheure").innerHTML );
     
     
    alert($('#lheure').html());

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Trop lent petit scarabée
    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 Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    même avec #, ça me renvoie undefined dans la boite de dialogue.

    peut-être faut-il utiliser autre chose que innerHTML avec jquery ?

  6. #6
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    avec jquery, c´est html et non innerhtml.

  7. #7
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Citation Envoyé par jota5450 Voir le message
    avec jquery, c´est html et non innerhtml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert( $("#lheure").html );
    me renvoie:

    function (a) {
    if (a === w) {
    return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ja, "") : null;
    } else if (typeof a === "string" &&
    !ta.test(a) &&
    (c.support.leadingWhitespace || !V.test(a)) &&
    !F[(La.exec(a) || ["", ""])[1].toLowerCase()]) {
    a = a.replace(Ka, Ma);
    try {
    for (var b = 0, d = this.length; b < d; b++) {
    if (this[b].nodeType === 1) {
    c.cleanData(this[b].getElementsByTagName("*"));
    this[b].innerHTML = a;
    }
    }
    } catch (f) {
    this.empty().append(a);
    }
    } else {
    c.isFunction(a) ? this.each(function (e) {var j = c(this), i = j.html();j.empty().append(function () {return a.call(this, e, i);});}) : this.empty().append(a);
    }
    return this;
    }
    Là, plus ça va moins je comprends ... surtout que le $, je l'ai déjà utilisé ailleurs sans avoir ce genre de problème. Enfin, jamais sur un label ...

    [Edit 16:31]

    en fait, je viens de voir que je peux mettre n'importe quoi, ça me renvoie un texte de fonction

    alert( $("sfjksqleslcwc,").html );

    ça fait pareil que ci-dessus

    [Edit 16:43]

    j'ai réduit le code au strict minimum.

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>Page de tests</title>
     
    		<script type="text/javascript" src="javascript/jquery.js"></script>
    		<script type="text/javascript" src="javascript/scripts.js"></script>
     
        </head>
        <body>
     
    		<p>
    			<label id="lheure" >heure locale</label>
    			<input id="bouton" type="button" value="Test js" />
    		</p>
     
        </body>
    </html>
    fichier scripts.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).ready(function(){
    		$("#bouton").click(Affiche);
    	}
    )
     
    function Affiche(){
    	alert( $("#lheure").innerHTML );
    }
    marche toujours pas ... mauvais w-e ! mauvais kharma ??

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

Discussions similaires

  1. id, getelementbyid et tag html
    Par Papy214 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/08/2010, 15h06
  2. [DTD] Tags Html dans XML ---> Etendre la dtd du Xhtml
    Par tipaquo dans le forum Valider
    Réponses: 14
    Dernier message: 19/07/2010, 09h09
  3. utiliser un bean dans le tags html:link
    Par clement42 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/07/2005, 18h36
  4. [struts html tag] html:link associé à un event javascript
    Par VinceFromBcn dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/03/2005, 11h59
  5. [STRUTS] utilisation de plusieurs tags <html:subm
    Par Super Castor dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/06/2004, 11h42

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