2013-01-05 45 views
6

這裏是一個Fiddle如何從li列表中的鏈接獲取href值?

我想要得到的href屬性,我用$(this).attr('href'),但它不工作!

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

'變種HREF = $(本).find( 'a')的ATTR( 'href' 屬性);'' – adeneo

+0

$(本)。兒童( 'a')的ATTR( 'href' 屬性)'。還有'altert(h)'的錯字。 –

回答

1

嘗試

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

試試這個,而不是

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

$(this)指的是該鏈接的父li。您需要使用

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

此外請修復您的html,塊元素不應位於內聯元素內。

在你的情況div不應該在a

1

這裏,$this是指向<li>但你需要href attr的<a>於是找到<a><li>並獲得ATTR href ...

試試這個

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

你需要在'a'周圍加上引號才能工作:) –

+0

哎呦..謝謝@BlakePlumb ..更新.. :) – bipen

+1

+1很好的答案! –

1

你想要屬性來自a,但$(this)在您的示例中是li,這就是爲什麼它不起作用。

爲什麼不在a上設置點擊事件?

例:$('.atleta a').click(function(e) ...