Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 02/07/2009, 16h53   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut souci récupération div avec getElementsByName

Salut tout le monde,

Je vous explique mon problème.

J'ai une fonction javascript qui me crée des div dans ma div de départ qui à l'id corps.

Code :
 
for (i=0;i<10;i++)
{
	document.getElementById("corps").innerHTML+="<div name='test"+i+"' id='css_test'></div>";
}
 
J'utilise donc l'id pour lui donner un style CSS.
Maintenant dans chaque div je veux ajouter à chacune un nombre de lien a aléatoire (selon le nombre d'élément en base de données) et la c'est le drame parce que je ne sais pas comment faire pour récupérer une div avec son name et pas son id, car tous les id sont identique...
J'ai essayé ça en sachant qu'elle est placée dans la boucle i mais ça ne marche pas :

Code :
 
for(j=0;j<liste.length;j++){
   document.getElementByName("test"+i)[0].innerHTML+="<a href='#'>test"+j+"</a><br />";
}
 
Est-ce que quelq'un à une idée???

Merci beaucoup.

Bonne journée
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 17h07   #2 (permalink)
Modérateur
 
Avatar de DoubleU
 
Date d'inscription: janvier 2006
Localisation: Crawford, Texas
Messages: 1 028
Par défaut

L'attribut name ne s'applique qu'aux éléments de formulaire, donc pas aux divs.

Donc pour identifier ta div, utilise son id, pas son name et tu pourras l'accéder par un getElementById.
DoubleU est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 17h08   #3 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 565
Par défaut

et si tu veux chopper un groupe de divs ...
http://www.developpez.net/forums/d75...filtre-regexp/
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 09h39   #4 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut

Merci pour vos réponses, cependant certaines div ont un id identique (pour le css) donc j'ai besoin de les différencier.
Au lieu d'utiliser name, je pourrait utiliser la class.

Par contre il n'existe pas de getElementsByClass...
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 09h44   #5 (permalink)
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Date d'inscription: septembre 2007
Localisation: Madagascar
Messages: 1 967
Par défaut

Bonjour,
Citation:
cependant certaines div ont un id identique
ça ne se fait pas, un id doit être unique.
avec le lien donné par SpaceFrog, tu peux les récupérer avec ses classe.
getElementsByClassName existe :
https://developer.mozilla.org/en/DOM...ntsByClassName
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 09h52   #6 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut

Merci pour ta réponse andry.aime.

Je suis tout à fait d'accord avec toi un id doit être unique.
Cependant comment faire en css si plusieurs div doivent avoir le même style?

On dévit un peu du sujet mais comme ça je me coucherais moins bête ce soir

Et je vais tester le script de spacefrog avec les classes et pas les names (merci encore à lui)
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 09h59   #7 (permalink)
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Date d'inscription: septembre 2007
Localisation: Madagascar
Messages: 1 967
Par défaut

Citation:
comment faire en css si plusieurs div doivent avoir le même style
class c'est fait pour ça, tu le mets le même class pour ces div.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h06   #8 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut

D'accord.

On m'a appris qu'avec une div le style devait être obligatoirement mis avec l'id pour pouvoir interagir avec les éléments contenus dans cette div.

comme ça :
Code CSS :
#test p{
text-align: left;
}
 
est ce que c'est possible si je met le css dans la class je peux faire ça :
Code CSS :
.test p{
text-align: left;
}

La question peux être bète mais si je peux faire en sorte que l'id soit unique dans mon script je suis tranquille mon script fonctionnera parfaitement.
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h10   #9 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 565
Par défaut

.class sur un div fonctionne ...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h11   #10 (permalink)
Expert Confirmé Sénior
 
Avatar de franculo_caoulene
 
Date d'inscription: octobre 2003
Messages: 2 903
Par défaut

Ceci est une question CSS et non plus javascript

Oui, tu peux le faire, il suffit de tester!
__________________
Penser à la recherche et au bouton
franculo_caoulene est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h14   #11 (permalink)
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 337
Par défaut

un id DOIT être unique !

il te faut donc une méthode getElementByClassName :

Code :
document.getElementsByClassName = function(nomClasse) {
  var TabClassName = new Array();
  var AllElements = document.getElementsByTagName('body')[0].getElementsByTagName('*');
  for (var i = 0 , l = AllElements.length; i < l; i++) {
		listeClass = AllElements[i].className.split(" ");
		//On parcours le tableau pour voir si l'objet appartient a la classe définit
		for(var x = 0 , y = listeClass.length; x < y ; x++){
			if(listeClass[x] == nomClasse){
				TabClassName.push(AllElements[i])
				break;
			}
		}
    }
  return TabClassName;
};
__________________
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 )
le_chomeur est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h16   #12 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 565
Par défaut

fillot t'as pas suivi le thread ...
il a déja le lien vers le script de la contrib ^^
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h19   #13 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut

Merci pour toutes vos réponses et votre aide.

Je vais réfléchir à tout ça pour améliorer mon code et rendre surtout les id unique.

Je vous tiendrai au courant.

Je met le poste en résolu

Bonne journée à tous
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h36   #14 (permalink)
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 337
Par défaut

si si mais entre le moment ou j'ai écrit et posté , j'ai été dérangé par un collègue xD
__________________
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 )
le_chomeur est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 10/07/2009, 12h01   #15 (permalink)
Futur Membre du Club
 
Date d'inscription: août 2007
Localisation: Haute normandie
Messages: 38
Par défaut

Voilà comme promis de mes nouvelles.

Mon script fonctionne à merveille maintenant.

Mon souci était que je n'utilisait que de div.

Merci encore pour vos réponses.
cloud76 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 09h06.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.