Appeler un type de div : javascript

Antoine -  
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, mon problème est en javascript.
J'ai dans un fichier html, un div dont l'id est "image"
dans ce div, on trouve des <img/>, des <p></p> etc
et aussi, des div -spéciaux-
Ces dev spéciaux, je voulais leur donner une class "bloc" mais les pas possible d'utiliser les class en javascript.
Alors, comment est-ce que je fais dans la fonction javascript, pour me placer dans div"image" et pour appeler uniquement les div de mon type bloc ?
Mon objectif est de les compter, pour ensuite récupérer des informations sur eux dans une boucle for.
J'ai essayé avec des name="bloc" mais pas parvenu à quelque chose.
Mon dernier recours sera de bidouiller avec les id genre "bloc1", "bloc2" mais c'est pas très propre et énervant à coder.
Avez vous une solution à me proposer ? Merci beaucoup !
Sachant que je ne peux pas compter manuellement combien j'ai de bloc dans mon fichier html, l'objectif de mon javascript étant de s'adapter à plusieurs html..



3 réponses

xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
 
suppose que div1 est une div

et tu veux lui attribuer une class en js, alors tu fais:
div1.className = "nomDeLaClasse"; 
0
xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
 
pour avoir les sous-div d'un tag div1:
div1.getElementsByTagName('div');   


cela de retour une liste de tous les divs dans div1.
suppose tu veux verifier la valeur de la class du premier sous-div de div1

var listes = div1.getElementsByTagName('div');   
if(listes.length > 0)   
{   
  alert(listes[0].className);   
}   
0
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
Avec des outils comme la bibliothèque Prototype.js (http://prototypejs.org/ ce qui revient à inclure un fichier javascript dans les pages qui l'utilise, tu peux obtenir très simplement tous les éléments de ta page qui possède une certaine classe.

En gros, pour faire ce que tu demandes avec Prototype.js, tu n'aurais qu'à:

1. Télécharger Prototype.js (c'est gratuit d'utilisation) et placer le fichier javascript avec tes autres scripts js dans ton projet.

Télécharger ici: https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js

2. Ajouter le fichier prototype.js à ta page web (dans le <head>):

<script type="text/javascript" src="prototype.js"></script>

3. Faire ta jolie fonction avec Prototype (disons que tu as mis "bloc" comme la classe de tes éléments) qui devrait te retourner la liste d'éléments désirés:

Retourne une liste des éléments de classe "bloc" à l'intérieur de ton div "image":
var divs = $('image').select('.bloc');

Ou plus précisément des divs avec classe "bloc":
var divs = $('image').select('div .bloc');

Pour obtenir la taille, il sufft t'appeler la fonction size():
var taille = divs.size();

Ou pour boucler à travers le tableau, on peut utiliser un itérateur:
divs.each(function(item) { 
  // Le code traitant chaque item étant un élément du tableau. 
});

Bon, j'ai fait un peu long mais je trouve que Prototype js marche très bien. Je suppose qu'il existe un équivalent dans JQuery mais je ne suis pas familier avec ce dernier.

Bonne chance!


Echo "Lima Mike Alfa";
0
xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
 
Ce n'est pas vraiment le problème du topic...

tu utilises ceci pour élargir des fonctionalités d'un objet ou d'un tag
0
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
À y repenser, j'avoue que je me suis compliqué la vie mais c'est toujours bon d'être conscient de ce qui est disponible sur le Web.

En plus, quand on doit circuler d'avantage dans les tags html, c'est très pratique.
0
Antoine
 
Je vais essayer les deux solutions.
En commençant par la première qui me paraît la plus facile :D
Merci beaucoup à vous deux pour la sympathie et le professionnalisme de vos réponses ! forum très agréable.
0