2013-01-05 11 views
6

Oto FiddleJak uzyskać wartość href z linku na liście li?

chcę uzyskać atrybut href używam $(this).attr('href') ale to nie działa!

HTML:

<div class="wrap_atletas_interno"> 
    <ul> 
     <li class="atleta"> 
      <a href="teste.html"> 
       <div class="nome_86_atleta">Antônio</div> 
       <img src="atletas/antonio_86px.jpg" /> 
      </a> 
     </li> 
     <li class="atleta"> 
      <div class="nome_86_atleta">Cauê</div> 
      <img src="atletas/caue_86px.jpg" /> 
     </li> 
     <li class="atleta"> 
      <div class="nome_86_atleta">Dudu</div> 
      <img src="atletas/dudu_86px.jpg" /> 
     </li> 
    </ul> 
</div> 

JavaScript:

$('.atleta').click(function (e) { 
    e.preventDefault(); 
    $('.atleta').removeClass('atleta_atual'); 
    $(this).addClass('atleta_atual'); 
    var h = $(this).attr('href'); 
    alert(h); 
    $.get(h, function (data) { 
     //$(".detalhes_atleta").html(data).fadeIn("slow"); 
     alert(h); 
    }); 
}); 
+0

'var href = $ (tym) .find ('A') atr ('sekcję');' – adeneo

+0

'$ (tym) .children ('A') atr ("href") ". Również literówka w 'altert (h)'; –

+0

'DIV' nie jest prawidłowym dzieckiem' ', znacznik jest nieprawidłowy – charlietfl

Odpowiedz

1

spróbować

var h = $('a', this).attr('href'); 
1

spróbuj zamiast tego

 var href= $('a',this).length>0? $('a',this).attr('href') : ''; 
2

$(this) odnosi się do rodzica li łącza. Trzeba użyć

$(this).find('a').attr('href'); 

Także proszę naprawić elementy html, blok nie powinien znajdować się wewnątrz elementów inline.

W twoim przypadku div nie powinno być w a

1

tu $this wskazuje na <li> ale u potrzebują href attr z <a> więc znaleźć <a> wewnątrz <li> i uzyskać attr href ...

spróbować

$(this).find('a').attr('href'); 
+0

Musisz dodać cytaty dookoła 'a', aby to zadziałało :) –

+0

whoops .. thanks @BlakePlumb .. updated .. :) – bipen

+1

+1 świetna odpowiedź! –

1

chcesz Atrybut href z a, ale $(this) w twoim przykładzie jest dla li, dlatego nie działa.

Dlaczego zamiast tego ustawić zdarzenie kliknięcia na a?

. Przykład:. $('.atleta a').click(function(e) ...

Powiązane problemy