如何从li列表中的链接获取href值?

时间:2013-01-05 19:14:13

标签: jquery

这是Fiddle

我想获取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);
    });
});

6 个答案:

答案 0 :(得分:14)

Check the updated fiddle

更改

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

答案 1 :(得分:3)

$(this)指的是链接的父li。你需要使用

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

另外请修复你的html,块元素不应该在内联元素中。

在您的情况下,div不应该在a

答案 2 :(得分:1)

尝试

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

答案 3 :(得分:1)

试试这个

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

答案 4 :(得分:1)

此处,$this指向<li>,但您需要href的{​​{1}} attr,因此请在<a>内找到<a>并获取attr <li> ...

试试这个

href

答案 5 :(得分:1)

您希望来自href的{​​{1}}属性,但示例中的a属于$(this),这就是它无效的原因。

为什么不在li上设置点击事件?

示例:a