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 + getElementByTagName


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut getElementById + getElementByTagName
    Bonjour,
    peut etre que mon intitulé n'est pas assez clair, enfet voici un bout de mon fichier CSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #photo1 {
    	width:221px;
    	height:211px;
    }
     
    #photo1 img {
    	margin-top: 14px;
    	margin-left: 560px;
    }
    et dans mon fichier "index.html", je souhaiterais modifier en javascript (normal, sinon je serais pas ici !) les propriétés de la balise "#photo1 img" ?
    Help !
    Merci d'avance

  2. #2
    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
    Par défaut
    modifier la classe directement ce n'est pas possible mais si tu souhaites modifier l'élément qui a cette classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('photo1').style.marginTop = "tavaleur" + px;

  3. #3
    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
    et c'est
    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. #4
    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
    Par défaut
    lol c'est vraiment histoire de dire

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    modifier la classe directement ce n'est pas possible mais si tu souhaites modifier l'élément qui a cette classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('photo1').style.marginTop = "tavaleur" + px;
    Tu es allé trop vite ! Il désire modifier les propriétés de la balise "#photo1 img". Il faut donc utiliser document.getElementById('photo1').getElementsByTagName('img') qui renverra un tableau, puis le parcourir, et pour chaque élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    elt.style.marginTop = tavaleur + 'px';

  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
    Par défaut
    C'est pas faux
    Toutes mes confuses pour ma demie réponse ...

  7. #7
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Une piste faite rapidement, d'autres te proposeront certainement mieux. Mais sache tout de même qu'il doit y avoir ce genre de réponse dans le forum déjà.
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!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" xml:lang="fr" lang="fr">
    <head>
    	<meta http-equiv="content-type"content="text/html; charset=UTF-8" />
    	<title>test html</title>
    	<style type="text/css">
    		body {background-color:#000000;}
    		div {width:800px; background-color:#111111;}
    			ul {margin:0 auto; width:400px; background-color:#222222; color:#ffffff;}
     	</style>
    </head>
    <body>
    	<div id="div">
    		<ul>
    			<li>0</li>
    			<li>1</li>
    			<li>2</li>
    			<li>3</li>
    			<li>4</li>
    			<li>5</li>
    		</ul>
    	</div>
    	<script type="text/javascript">
    	var cn = document.getElementById("div").childNodes;
    	for (var i=0; i<cn.length; i++) {
    		alert(cn[i].tagName);
    		if (cn[i].tagName=="UL")
    			cn[i].style.backgroundColor = "#aaaaaa";
    	}
    	</script>
    </body>
    </html>
    edit: ah ben j'ai pas fini de poster qu'il y a déjà mieux!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	var cn = document.getElementById("div").getElementsByTagName('li');
    	for (var i=0; i<cn.length; i++) {
    			cn[i].style.backgroundColor = "#aaaaaa";
    	}

  8. #8
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    C'est bon merci a tous, ben en fait j'étais bien partie mais je ne connaissais pas l'existance de ce fameux "s" de "getElementsByTagName" !
    En tout cas merci de m'avoir répondu aussi rapidement.
    A la prochaine

  9. #9
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    C'est que tu n'as jamais utilisé getElementsByTagName alors

    Par contre je sais pas vous mais moi j'aime pas faire #id dans les CSS je prefere les .classname

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Bezout Voir le message
    Par contre je sais pas vous mais moi j'aime pas faire #id dans les CSS je prefere les .classname
    Le but n'est pas le même !

    #id => 1 élément (forcément !)
    .className => une liste de 1 à N éléments

    Mais par choix on peut définir une class par élément, effectivement ...

    A+

  11. #11
    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
    on peut faire un prototype getElementsByClassName ... je me demande si ce n'est pas déja dans les contribs ...
    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.

Discussions similaires

  1. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02
  2. getElementById et Firefox
    Par ludo65 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/02/2005, 10h56
  3. getelementbyid innerhtml sur Opera?
    Par cynthia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 10h44
  4. getElementsByName ou getElementById
    Par lepierre dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/10/2004, 15h44

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