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 :

selecteur $(elt) et className


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 88
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 23
    Points
    23
    Par défaut selecteur $(elt) et className
    En testant un probleme de selection je me suis heurté a un probleme avec l'utilisation de className

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <html>
    <head>
    	<title>Test commutation</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    	<meta name="generator" content="PHPedit 3.4">
    	<style type="text/css">
    		.hidden { display:none; }
    		.visible { display:block; }
    	</style>
     
    	<script type="text/javascript" src="../Commons/Library/jquery-1.3.2.min.js"></script>
        <script type="text/javascript">
    	$(document).ready(function() {
     	   $('#explorer').bind('click', null, toggle);
    	});
     
    	function toggle(event) {
                var element = event.target;
    	    var name = element.tagName;
    		alert(element.id);
    	//		var display = $('#enfant').css("display");
    			var display = $('#enfant').className;
    			alert(display);
    	    if ('LI' == name) {
    	// 		$('#enfant').css("display", "block");
    			$('#enfant').className = "visible";
    	     }
    	}
    	</script>
    </head>
     
    <body>
    	<div id="explorer">
    		<ul>
    			<li id='parent'>
    				id = parent
    			</li>
    			<div id='enfant' class='hidden'>
    				<li>id = element enfant</li>
    			</div>;
    		</ul>;
    	</div>
    </body>
    </html>
    Tel que ce petit test est ecrit il me semblait que les deux syntaxes pour rendre visible l'élement enfant (en cliquant sur le point de liste) devait e^tre équivalentes (une communication vues quelque part indiquant même pour la plupart des navigateurs une execution plus rapide avec classname).
    En fait mes syntaxes avec className ne marchent pas !

    Sauriez-vous pourquoi ?
    Probleme de syntaxe ????

  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 637
    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 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    déja ta structure est mal balancée
    le div qui entroure un li dans un ul ...
    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
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Exemple avec toggle() (équivalent show/hide) :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <!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">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<meta name="Author" content="Daniel Hagnoul" />
    	<title>Page type</title>
    	<style type="text/css">
    		body {
    			background-color:#696969;
    			color:#000000;
    			font-family:Arial, Helvetica, sans-serif;
    			font-size:medium;
    			font-style:normal;
    			font-weight:normal;
    			line-height:normal;
    			letter-spacing:normal;
    		}
    		h1,h2,h3,h4,h5 {
    			font-family:"Times New Roman", Times, serif;
    		}
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
    			margin:0px;
    			padding:0px;
    		}
    		p {
    			padding:6px;
    		}
    		ul,ol,dl {
    			list-style:none;
    			padding-left:6px;
    			padding-top:6px;
    		}
    		li {
    			padding-bottom:6px;
    		}
    		div#conteneur {
    			width:95%;
    			margin:12px auto;
    			padding:6px;
    			background-color:#FFFFFF;
    			color:#000000;
    			border:1px solid #666666;
    			font-size:0.8em;
    		}
     
    		/* TEST */
     
    		#enfant {
    			display:none;
    		}
    	</style>
    	<script type="text/javascript" src="../lib/jquery-1.3.2.min.js"></script>
    	<script type="text/javascript">		
    		$(document).ready(function(){
    			$("#parent").click(function(){
    				$("#enfant").toggle();
    			});
    		});
    	</script>
    </head>
    <body>
    	<div id="conteneur">
     
    		<ul>
    			<li id="parent">
    				element parent
    				<ul id="enfant">
    					<li>element enfant</li>
    				</ul>
    			</li>
    		</ul>
     
    	</div>
    </body>
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 88
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 23
    Points
    23
    Par défaut La question portait sur l'echec de mon utilisation de className
    J'ai bien pris note de vos réponses et je vous en remercie. Vos suggestions mes seront très utiles.
    En fait je suis parti d'un code qui est ecrit avec <Prototype>. Je voulais le retranscrire avec le moins de fatigue possible (à mon âge, on s'économise !) mais avec jQuery.
    Mais ce qui me semblait devoir m'occuper quelques minutes s'est enlisé sans que j'arrive à comprendre exactement où !
    Ma structure de test ne prétend pas être un modele du genremais c'est le déshabillage progressif jusqu'à l'extrême de la structure de départ arrêtée au moment où j'ai pu mettre en évidence une question simple

    La question élémentaire (i.e. simplifiée autant que possible) est donc simplement de savoir si ma syntaxe avec className est incorrecte dans ce contexte.

Discussions similaires

  1. Selecteur et valeur
    Par wehtam dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/08/2005, 14h25
  2. ClassName pour pointeur
    Par sony351 dans le forum C++Builder
    Réponses: 7
    Dernier message: 10/08/2005, 09h43
  3. [CR9] Selecteur d'imprimante
    Par IADJOFOGUE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 06/06/2005, 11h42
  4. Réponses: 15
    Dernier message: 17/01/2005, 17h08
  5. Selecteurs de segments - pmode
    Par jojo's dans le forum Assembleur
    Réponses: 21
    Dernier message: 09/09/2004, 20h46

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