1

私は周りを検索しましたが、実際には Stackoverflow でこれに似た別の質問から助けを得ましたが、これを機能させることができないようです。ユーザーがクリックするたびに親セルIDを出力しようとしています。HTML:

<table>
<tr>
<td class='test' id='1'><img src='images/dog.gif'/></td>
<td class='test' id='2'><img src='images/cat.gif'/></td>
<td class='test' id='3'><img src='images/mouse.gif'/></td>
<td class='test' id='4'><img src='images/human.gif'/></td>
</tr>

JS:

$('.test').on('click', 'td', function(e)
{ alert(this.id); })

何か助けはありますか?また、これをアラートの代わりにページにテキストとして表示するにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

ここでイベント委任を使用する必要はありません。また、イベントは、要素自体ではなく、要素の静的な親の 1 つから委任する必要があります。これを試してください。

$(document).ready(function() { // when DOM is ready
    $('td.test').click(function(e) { 
       alert(this.id); 
    })
})

text値を別の要素のテキスト コンテンツとして設定する場合は、メソッドを使用できます。

$('#element').text(this.id);
于 2013-02-19T22:09:22.810 に答える
0

次のように、現在の html の最後に div を追加できます。

<table>
<tr>
<td class='test' id='1'><img src='images/dog.gif'/></td>
<td class='test' id='2'><img src='images/cat.gif'/></td>
<td class='test' id='3'><img src='images/mouse.gif'/></td>
<td class='test' id='4'><img src='images/human.gif'/></td>
</tr>
<div id='output'></div>

アラートを次のように変更します

$('#output').append(this.id + '<br>');

これで、クリックしたセルの ID を持つ行が div に作成されます。これを undefined のイベント ハンドラへの変更と組み合わせると、準備は完了です。

于 2013-02-19T22:19:07.313 に答える