1
4

3 に答える 3

5

thisの代わりに使用しevent.targetます。

var href = this.href;

  • event.targetクリックされた最も深くネストされた要素です

  • thisハンドラーがバインドされている要素です(または、のような委譲の場合は.live()、セレクターに正常に一致した要素です)

于 2012-04-09T20:30:34.023 に答える
3

このようにhref値を取得します

$('a').live('click', function(){
  var target=$(this).attr("href");
  alert(target);
});

JsFiddle サンプルhttp://jsfiddle.net/Gz6mT/7/

jQuery 1.7 以降を使用している場合は.on()、ライブの代わりにイベント ハンドラーをアタッチするために使用します。live() は jQuery 1.7 で非推奨になりました

http://api.jquery.com/on/

于 2012-04-09T20:31:03.963 に答える
1

まず、.on(利用可能な場合) を使用する必要があり、さらに悪い場合.delegate.live. hrefそれ以外に、ターゲットではなくイベントがバインドされているオブジェクトからを取得できます。

var href = $(this).attr('href');

本当にターゲットを使用したい場合は、最も近いアンカーの親を見つけることができます:

var href = $(event.target).closest('a').attr('href');
于 2012-04-09T20:33:02.843 に答える