Javascript jQuery-单击时检测TD ID

Javascript jQuery-单击时检测TD ID,javascript,jquery,Javascript,Jquery,我试图在单击表的行时获取TD ID 我一直在寻找实现这一点的方法,并找到了一种方法。但每次我点击时,都会弹出一条警报,但它是一条空文本。使用控制台,我看到错误代码是“未定义” 这是我的密码: function chooseCell() { let square = 0; let squareNumber = 0; $("td").click((e) => { let data = $(this).attr('id'); alert (data); for (squa

我试图在单击表的行时获取TD ID

我一直在寻找实现这一点的方法,并找到了一种方法。但每次我点击时,都会弹出一条警报,但它是一条空文本。使用控制台,我看到错误代码是“未定义”

这是我的密码:

function chooseCell() {
let square = 0;
let squareNumber = 0;
$("td").click((e) => {
    let data = $(this).attr('id');
    alert (data);
    for (square in squarePositions) {
            squareNumber += 1;
            if (square[1] <= e.pageX <= square[3] && square[0] <= e.pageY <= square[2]) {
                alert(squareNumber);
                alert("Square Number : " + squareNumber);

            }
        }
    }
)}
警报弹出第一个表的TD。每当我点击不同的TD时,第一个ID就会显示出来

有人知道如何显示当前单击的id吗?我在谷歌和软件上的问题没有答案


非常感谢,向您致意。

您正在为事件处理程序使用箭头函数

箭头函数在运行时不会新定义自己的箭头 在全球范围内执行;取而代之的是 使用封闭的执行上下文,相当于将其视为 闭包值

因此,在您的代码
中,此
并不像您期望的那样引用
td
。 您可以使用以下代码访问
td

let data = $(e.target).attr('id');
或者您也可以使用常规函数而不是箭头函数,现在
将引用
td

$("td").click(function(e){
    let data = $(this).attr('id');
    alert (data);
     // ...
});

请显示HTML。
let data = $(e.target).attr('id');
$("td").click(function(e){
    let data = $(this).attr('id');
    alert (data);
     // ...
});