19
<div class="main_div">
    <div id="inner_div">    
        <span id="d1" class="get_clicked">click to get id</span>
    </div>
</div>

クリックした要素のIDを取得するには? jquery ajaxを使用してモデル(MVC)からスパンをロードするため、inner_div内に存在するスパンは異なるIDを持つことになります。したがって、「n」個のスパンがあります。すべてのスパンには一意の ID があります。クリックしたスパンのIDを取得したい。

クリックしたときにスパンのIDを取得する方法は? jQueryを使用してこれを行う方法は?

4

4 に答える 4

50

コンテンツを動的にロードすると更新されるので、使用します。

$(document).on('click', 'span', function () {
    alert(this.id);
});

古いコード

$('span').click(function(){
    alert(this.id);
});

または.onを使用できます

$('span').on('click', function () {
    alert(this.id);
});

thisクリックされた現在のスパン要素を参照します

this.idクリックさidれた現在のスパンの

于 2013-09-08T05:34:03.303 に答える
10

ajax を介してスパンにロードしているため、デリゲート ハンドラーをイベントにアタッチして、イベントがバブルアップしたときにそれらをキャッチする必要があります。

$(document).on('click','span',function(e){
    console.log(e.target.id)
})

効率を高めるために、イベントを最も近い静的メンバーにアタッチする必要があります。

$('#main_div').on('click','span',function(e){
    console.log(e.target.id)
})

たとえば、ドキュメントにバインドするよりも優れています。

この質問はあなたが理解するのに役立つかもしれません

直接対委任 - jQuery .on()

于 2013-09-08T05:34:02.053 に答える
1

これを使用してボタンの属性を変更する方法を共有したかったのですが、理解するのに時間がかかったので...

たとえば、背景を黄色に変更するには:

$("#"+String(this.id)).css("background-color","yellow");
于 2016-03-30T19:08:25.947 に答える
0

このコードでクリックされたもののIDを取得できます

$("span").on("click",function(e){
    console.log(e.target.Id);
});

.on()将来の互換性のためにイベントを使用する

于 2013-09-08T05:43:04.793 に答える