20

クリック イベントが関連付けられているリンクのリストを取得しました。子 A リンクから ID を取得する必要があります。したがって、次の例では、最初のリスト要素をクリックした場合、Google を再調整する必要があります。

試してみまし'$this a'たが、構文がうまくいきません。

$("ul li").click(function(event){
  $("input").val($(this).html());             
});
<ul>
    <li><a href="http://www.google.com" id="google">Google</a>
</ul>
4

3 に答える 3

56

サンプルの HTML は表示されませんが、

$(this).find('a:first').attr('id')

それを行います(意図したものでない場合は a:firstセレクターを修正してください)

これは、イベントを発生させた要素を参照します

于 2008-12-11T13:52:12.830 に答える
4

コードを少しきれいにするために、次のような関数でトリガーをバインドしましょう: (その UL 内の要素のみに固有であるように、UL に ID を与えることをお勧めします)

$('ul li').bind('click', getAnchorId);

(getAnchorId) と呼ばれる関数は、クリックされた要素 (ul li) の子要素 ​​(a) の ID 属性を取得し、それを変数 (anchorId) に適用し、正しい情報を取得していることを示すために、結果を入力します。アラート。

function getAnchorId() {
    var anchorId = $(this).children('a').attr('id');
    alert(anchorId);
}

今、あなたはその変数であなたが望むことを何でもすることができます:)

お役に立てれば :)

于 2008-12-11T14:22:18.573 に答える
2

children次の方法を使用できます。

$(this).children('a').eq(0).attr('id');

構文についてはよくわかりませんが、このようなものが機能するはずです。

于 2008-12-11T14:21:46.437 に答える