2010-07-23 2 views
2

Voici le morceau de javascript qui identifie correctement un élément UL:Que serait ce sélecteur javascript brut dans JQuery?

$(this.parentNode.nextSibling.nextSibling.children[0]); 

Le html il regarde est: (avec 'ceci' se référant à la .cs_previousArrow comme sélecteur initial)

<div id="cs_furlBar1"> 
     <p class="cs_furlHeaderClosed">INVESTOR SERVICES</p> 
     <p class="cs_seeAllFurl"><a href="#">See all</a></p> 
    </div> 
    <div id="cs_investorServ" class="cs_hideOpen"> 
     <div class="cs_previousArrow"><img class="previous_btn" src="images/previousArrow.gif" width="11" height="21" alt=""></div> 
     <div class="cs_vidThumbClip"></div> 

dans la div de cs_VidThumbClip, j'utilise la charge() l'action d'insérer une UL qui a de la classe de cs_vidThumbList

Ainsi, le javascript ci-dessus, après quelques combats avec Firebug, fonctionne, mais je suis pense il doit y avoir un plus court (ou mieux?) de sélection du même élément.

Le point entier de ceci est que j'ai 5 divs différents chacun qui auront son propre contenu chargé à défiler de sorte que je voulais éviter d'avoir le même code dupé et juste l'id a changé.

Merci

+3

Si 'this' se réfère au' élément .cs_previousArrow', l'élément vous choisissez est pas dans le balisage affiché, ce serait après Est-ce que vous pouvez poster un peu plus? –

Répondre

1

Vous pouvez

$('ul.cs_vidThumbList', $(this).parent().parent()) 
+1

Merci, cela a fonctionné. question .. que fait le "," ou la virgule dans le sélecteur .. qu'est-ce que cela distingue? – Billy

+0

@Billy, c'est un second argument facultatif dans le constructeur jQuery, il vous permet d'ajouter un contexte à l'élément. Dans cet exemple, il sélectionne ul avec une classe de cs_vidThumbList à partir de l'objet $ (this) .parent(). parent(). – GSto

+0

génial, merci! – Billy