Javascript 父单元格的输出id

Javascript 父单元格的输出id,javascript,jquery,html,Javascript,Jquery,Html,我四处搜索,实际上从Stackoverflow上的另一个类似问题中得到了帮助,但我似乎无法让它工作。我试图在用户单击父单元格id时输出它。 HTML: 有什么帮助吗?另外,我该如何在页面上将其显示为文本而不是警报 谢谢这里不需要使用事件委派,事件也应该从元素的一个静态父级委派,而不是从元素本身委派,请尝试以下操作: $(document).ready(function() { // when DOM is ready $('td.test').click(function(e) {

我四处搜索,实际上从Stackoverflow上的另一个类似问题中得到了帮助,但我似乎无法让它工作。我试图在用户单击父单元格id时输出它。 HTML:

有什么帮助吗?另外,我该如何在页面上将其显示为文本而不是警报


谢谢

这里不需要使用事件委派,事件也应该从元素的一个静态父级委派,而不是从元素本身委派,请尝试以下操作:

$(document).ready(function() { // when DOM is ready
    $('td.test').click(function(e) { 
       alert(this.id); 
    })
})
如果要将该值设置为另一个元素的文本内容,可以使用
text
方法:

$('#element').text(this.id);

您可以在当前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>');
$(“#输出”).append(this.id+”
);

这将在您的div中创建一行,其中包含您单击的单元格的id。将此与undefined对事件处理程序所做的更改结合起来,您就一切就绪。

$('.test')。on('click'、'td'、
没有任何意义,因为根据您的代码,它们是相同的元素。请检查此项。您不应该说不需要直接使用事件委派。可能会有很大的需要,这取决于表的大小。如果您确实需要事件委派,您需要倾听表上的事件。非常感谢有效。当我获得足够的声誉时,我会接受。是的,我实际上没有在代码中对您的事件处理程序进行更改,未定义的代码涵盖了这一更改,看起来我们几乎同时编辑了答案。让我指向他更改的事件处理程序,让他将输出添加到屏幕要求中。
<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>');