11548 sujets

JavaScript, DOM et API Web HTML5

Hello,

Habitué de jQuery, je dois me confronter à Prototype sur un projet. Si j'arrive à me débrouiller pour une prise en main depuis 48h, j'ai un vrai problème pour sélectionner un conteneur.

J'ai une liste non ordonnée avec des titres, des descriptions


<ul id="maListe">
  <li>
    <h3><a href="#">Titre</a></h3>
    <div class="desc">
      <div class="desc-intro">
        Texte intro
      </div>
      
      <div class="desc-full">
        Tout mon contenu
      </div>
    </div>
</ul>  


en Jquery pour sélectionner desc-full (en supposant que je suis dans une boucle sur mes listes), j'aurais


$(this).find(".desc").css("display","block").find(".desc-full").css("display","block");


$this représente le <li> en cours

Avec prototype, je n'y arrive pas.


		maListe.each(
		function(element, index)
		  {
			element.select(".desc").invoke("show");
			element.select(".desc-full").invoke("show");
		  }
		);


maListe représente un array de mes éléments listes sur lequel je boucle. element représente donc mon élément <li>. Pour chaque élément <li>, je veux avoir le contrôle sur mes conteneurs desc et desc-full

Mais çe ne marche pas Smiley decu .

J'ai regardé la documentation, select semble l'équivalent du find chez jQuery.

Merci pour votre aide.
Modifié par CUT HERE (10 May 2009 - 11:35)
salut, je ne suis pas habitué à JQuery ... mais il me semble que down() pourrait t'aider, mis à part dans le fait qu'il retourne un élément au lieux d'un array() ...

@+
Modifié par Nours312 (10 May 2009 - 12:17)
Salut,
a écrit :
en Jquery pour sélectionner desc-full
$(this).find(".desc").css("display","block").find(".desc-full").css("display","block");
Beaucoup plus simple :
$('.desc, .desc-full', this)
    .css('display', 'block');
Pour ce qui est de Prototype, je ne suis pas un grand utilisateur, mais je pense que ça devrait se faire comme ça :
this.select('.desc', '.desc-full')
    .invoke('setStyle', {display: 'block'});