I have some table rows
    
        
                      
      
      
      
        
        
                         				            - 
            
           
            
            
                                                                       
Use this: $(function(){
    $("tr.b_row").each(function(){
    var a_href = $(this).find('div.cpt h2 a').attr('href');
    alert ("Href is: "+a_href);
    });
});
 See a working demo: http://jsfiddle.net/usmanhalalit/4Ea4k/1/ 讨论(0)
- 
            
           
            
            
                                                                       
In loop you should refer to the current procceded element, so write: var a_href = $(this).find('div.cpt h2 a').attr('href');
 讨论(0)
- 
            
           
            
            
                                                                       
Very simply, use thisas the context: http://api.jquery.com/jQuery/#selector-context
 var a_href = $('div.cpt', this).find('h2 a').attr('href');
 Which says, find 'div.cpt'only insidethis
 讨论(0)
- 
            
           
            
            
                                                                       
add a reference to this, which refers to yourb_row:
 $("tr.b_row").each(function(){
    var a_href = $( this ).find('div.cpt h2 a').attr('href');
    alert ("Href is: "+a_href);
});
 讨论(0)
- 
            
           
            
            
                                                                       
Use $(this)for get the desire element.
 function openAll()
{
     $("tr.b_row").each(function(){
        var a_href = $(this).find('.cpt h2 a').attr('href');
        alert ("Href is: "+a_href);
     });
}
 讨论(0)
- 
            
           
            
            
                                                                       
var a_href = $('div.cpt').find('h2 a').attr('href');
 should be var a_href = $(this).find('div.cpt').find('h2 a').attr('href');
 In the first line, your query searches the entire document.  In the second, the query starts from your trelement and only gets the element underneath it.  (You can combine thefinds if you like, I left them separate to illustrate the point.)
 讨论(0)
        - 热议问题