9

これがフィドルです

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);
    });
});
4

6 に答える 6

18

更新されたフィドルを確認してください

かわった

var h = $("a",this).attr('href');
于 2013-01-05T19:19:14.507 に答える
3

$(this)liリンクの親を参照しています。あなたが使用する必要があります

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

htmlまた、ブロック要素をインライン要素内に配置しないように修正してください。

あなたの場合diva

于 2013-01-05T19:19:31.527 に答える
1

試す

var h = $('a', this).attr('href');
于 2013-01-05T19:16:53.460 に答える
1

代わりにこれを試してください

     var href= $('a',this).length>0? $('a',this).attr('href') : '';
于 2013-01-05T19:17:34.243 に答える
1

ここで$thisは、を指していますが、 attrが<li>必要なので、中を見つけてattrを取得します...href<a><a><li>href

これを試して

$(this).find('a').attr('href');
于 2013-01-05T19:21:30.523 に答える
1

hrefからの属性が必要ですa$(this)、この例では、の属性であるため、li機能していません。

a代わりにクリックイベントを設定してみませんか?

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

于 2013-01-05T19:28:30.793 に答える