Thank you for this Daniel, it makes few things clearer in my mind.
(I do read the doc but it doesn't always translate as well :))

On Mar 31, 8:26 pm, Daniel Friesen <nadir.seen.f...@gmail.com> wrote:
> Speed has absolutely nothing to do with this. You are trying to speed
> compare methods that do completely different things:
>
> $('#foo'); // select the element with the id #foo
> $('#foo > .bar'); // select the elements with the class bar that are
> direct children of the element with the id #foo
> $('#foo').find('.bar'); // select the elements with the class bar that
> are direct children of the element with the id #foo
> $('.foo').filter('.bar'); // select all elements with the class foo then
> filter that list to only include the ones that also have the class bar
> $(e.target).closest('li'); // given a node for an event, backtrack
> through the document to find the closest li node (this is meant for
> event delegation type tasks)
>
> Using $(this+' > .quantite') WILL NOT WORK when /this/ is a document node. 
> You have to use $(this).find('> .quantite'); or 
> $(this).children('.quantite'); should work to.
>
> ~Daniel Friesen (Dantman, Nadir-Seen-Fire)
>
> Gilles wrote:
> > Ah zut, I forgot the >, and I was hoping i could actually help on that
> > one lol, but otherwise this would work normaly no?
> > (sorry to ask but newbie so I check to make sure)
>
> > $(this+' > .quantite') (also I think it's mention somewhere in this
> > group that find is faster (for the moment only))
>
> > Also would the new closest() method work?
>
> > $(this).closest('.quantite'); (is that faster or slower than the above
> > or / and find)
>
> > On Mar 31, 5:27 pm, Daniel Friesen <nadir.seen.f...@gmail.com> wrote:
>
> >> If /this/ is a node as I expect it is in that context, it should
> >> actually be $(this).find('.quantite');
>
> >> ~Daniel Friesen (Dantman, Nadir-Seen-Fire)
>
> >> Gilles wrote:
>
> >>> Bonjour!
>
> >>> Stupid question, but you have made sure to wrap your code inside $
> >>> (function(){ /* your code */ }); yes?
> >>> As otherwise JQuery might have trouble locating what you need if it
> >>> isn't.
>
> >>> Also could you provide the HTML source as rendered by the browser, it
> >>> makes copy/pasting/testing easier :)
>
> >>> $("this ~ .quantite") is wrong tho i believe it should be $(this
> >>> +'.quantite') as this is a variable
>
> >>> (unless it is interpreated as variable between double quote like in
> >>> PHP, but I am pretty sure it doesn't)
>
> >>> On Mar 31, 3:14 pm, elpatator <romain.simi...@gmail.com> wrote:
>
> >>>> Although Jquery offers multiple ways in selecting DOM elements, I
> >>>> can't figure out how to do this, as i'm not that good at it.
> >>>> Here's the deal :
> >>>> my html goes like this
> >>>>                         <logic:iterate id="ligneCommande" name="commande"
> >>>> property="lignesCommande" indexId="index">
> >>>>                                 <div class="ligneArticle"><c:set 
> >>>> var="nbLigneCommandes"
> >>>>                                         value="${nbLigneCommandes+1}" /> 
> >>>> <bean:define id="articleId"
> >>>>                                         name="ligneCommande" 
> >>>> property="article.id" />
>
> >>>>                                         <div 
> >>>> class="blocGauche"><bean:define id="articleId"
> >>>>                                                 name="ligneCommande" 
> >>>> property="article.id" />
> >>>>                                                 <img 
> >>>> class="visuelArticle" src="/images/visuelsArticles/dim1/$
> >>>> {ligneCommande.article.articleReference.reference}_dim1.jpg"
> >>>> height="60" width="60" />
>
> >>>>                                         <span class="libelleArticle"> 
> >>>> <bean:write
> >>>>                                                 name="ligneCommande"
> >>>> property="article.articleReference.libelle" />
> >>>>                                         </span>
> >>>>                                         </div>
> >>>>                                         <div class="blocDroit">
> >>>>                                                 <span 
> >>>> class="prixUnitaire">
> >>>>                                                 <bean:write
> >>>>                                                         
> >>>> name="ligneCommande" property="prixUnitaire" format=""
> >>>> formatKey="main.format.prix"/>
> >>>>                                                         <input       
> >>>> type="hidden" class="prixProduit" name="prix${index}"
> >>>> value="${ligneCommande.prixUnitaire}"></input>
> >>>>                                                         <input 
> >>>> type="hidden"
> >>>>                                                         
> >>>> name="montantDeLigne${index}" value="$
> >>>> {ligneCommande.prixTotal}"></input>
> >>>>                                                 </span>
>
> >>>>                                                 <table 
> >>>> class="calculette">
> >>>>                                                         <tr>
> >>>>                                                                 <td>
> >>>>                                                                 
> >>>> <html:text styleClass="quantite"
> >>>> property="quantiteLigneCommande(${ligneCommande.id})" styleId="$
> >>>> {ligneCommande.id}"/>
> >>>>                                                                 </td>
> >>>>                                                                 <td>
> >>>>                                                                         
> >>>> <img class="plus" src="/images/quantiteIncrement.gif"
> >>>> alt="Plus" />
> >>>>                                                                 </td>
> >>>>                                                                 <td>
> >>>>                                                                         
> >>>> <img class="moins" src="/images/quantiteDecrement.gif"
> >>>> alt="Moins" />
> >>>>                                                                 </td>
> >>>>                                                         </tr>
> >>>>                                                 </table>
>
> >>>>                                                 <div 
> >>>> id="montantDeLigneAfficher${index}" class="prixTotal">
> >>>>                                                         <bean:write  
> >>>> name="ligneCommande" property="prixTotal" format=""
> >>>> formatKey="main.format.prix" />
> >>>>                                                 </div>
> >>>>                                         </div>
> >>>>                                         <div class="clear"></div>
> >>>>                                 </div>
> >>>>                         <div class="clear"></div>
> >>>>                         </logic:iterate>
>
> >>>> As you can see, I iterate on each line, that's named .ligneArticle  ;
> >>>> What I wish to do is, on click on
> >>>> <img class="plus" src="/images/quantiteIncrement.gif" alt="Plus" /> or
> >>>> <img class="moins" src="/images/quantiteDecrement.gif" alt="Moins" />,
> >>>> traverse back up from my button, in order to get it's current (and
> >>>> unique) lingneArticle, to get back down and work on quantity input.
> >>>> Right now, my js looks likes this :
> >>>>                 $(".plus").click(function (){
> >>>>                         var quantite = $("this ~ .quantite").val();
> >>>>                         quantite++;
> >>>>                         if (quantite<=0){
> >>>>                                         quantite=0;
> >>>>                                 }
> >>>>                         $("this ~ .quantite")
> >>>>                                 .text(quantite)
> >>>>                                 .val(quantite);
> >>>>                         calculMontantPanier();
> >>>>                 });
>
> >>>>                 $(".moins").click(function (){
> >>>>                         var quantite = 
> >>>> $(this).find(".quantite:input").val();
> >>>>                         quantite--;
> >>>>                         if (quantite<=0){
> >>>>                                 quantite=0;
> >>>>                         }
> >>>>                         $(this).find(".quantite:input")
> >>>>                                 .text(quantite)
> >>>>                                 .val(quantite);
> >>>>                         calculMontantPanier();
> >>>>                 });
>
> >>>> As you can see, my probleme is related to DOM crawling back up from $
> >>>> (this) (my button), and then down to it's direct
> >>>> neigbour .quantite:input .
>
> >>>> Thanks for your help.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to