3

私はjQueryを初めて使用します。以下は私のコードの一部です

<div class = 'buttons'>
    <span>
    <input type='button' value='BUTTON1' id='button1'>
    </span>
    <span>
    <input type='button' value='BUTTON2' id='button2'>
    </span>
</div>

jqueryを使用して、クリックされたボタンのIDを出力したいと思います。私は次のことを試しました:

$(".buttons > span").click(function () {
    alert("YOU CLICKED" + this.id);
});

しかし、これはスパンオブジェクトを参照していると思います。スパンオブジェクトにクリックイベントがあるのはなぜですか?または、すべてのjqueryオブジェクトに「クリック」がありますか?スパン内のボタンのIDを取得するにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

5

これはどうですか?

$(".buttons > span > input").click(function () {
    alert("YOU CLICKED" + this.id);
});
于 2012-07-29T02:01:31.250 に答える
4

イベントのターゲット要素をキャプチャすることでこれを行う別の方法は次のとおりです。

$(".buttons > span").click(function (e) { 
    alert("YOU CLICKED" + e.target.id); 
}); 
于 2012-07-29T02:10:32.770 に答える
1
$(".buttons > span").click(function () {
    alert("YOU CLICKED" + $('input[type=button]',this).prop('id'));
 });

または、イベントをボタン自体にバインドすることもできます

$(".buttons > span > input[type=button]").click(function () {
    alert("YOU CLICKED" + this.id);
 });
于 2012-07-29T02:00:26.460 に答える