0

<li>別の動的要素である<a>タグの下に作成されている要素の ID を選択しようとしています。の ID を処理できないようです<li>。私が持っている最も近いものはこれです:

 $("a li:first-child").attr('id');

ただし、クリックされているものではなく、最初のliのIDのみを提供します。

最初の部分だけが重要なので、切り捨てたスクリプトを次に示します。

$.each(...
    $("#inventoryDiv").append("<ul id='invList'></ul>");                                                
    $("#invList").append("<a href='javascript:void(0);' name='invLink'><li id='" + this.inventory_id + "'>
...

私のリスナーは次のとおりです。

$("#inventoryDiv").on('click','a',function(){
    console.log($("a li:first-child").attr('id');
}

何かご意見は?

4

3 に答える 3

3
$("#inventoryDiv").on('click','a',function(){
    console.log($(this).find('li').attr('id'));
});
于 2013-08-23T14:51:45.653 に答える
2

最初に、li タグと a タグを入れ替えて、HTML が有効になるようにする必要があります。

$("#invList").append("<li id='" + this.inventory_id + "'><a href='javascript:void(0);' name='invLink'>

次に、.closest()を使用して、li の ID を取得します

$("#inventoryDiv").on('click','a',function(){
    $(this).closest('li').prop('id');
});

遭遇する別の問題は、すべての UL が同じ ID を持つIDことです。

于 2013-08-23T14:56:04.263 に答える
1

これを試して:

$("#inventoryDiv").on('click','a',function(){
    console.log($(this).find('li').prop('id'));
});

http://api.jquery.com/prop/

于 2013-08-23T14:54:14.973 に答える