Javascript 使用jQuery在单击事件时仅获取按钮元素

Javascript 使用jQuery在单击事件时仅获取按钮元素,javascript,jquery,html,Javascript,Jquery,Html,所以 我想我的问题相当简单。我提供了一个小代码片段来帮助说明这个问题 我正在尝试获取按钮的id。它可以正常工作,除非您单击按钮内的任何文本,然后jQuery尝试获取该文本 我正在使用event.target.attributes.id.value查找单击元素的id属性,但是如果有人知道更简单的方法,请分享 如果您需要了解问题的帮助,只需运行代码剪切并尝试单击按钮,然后单击按钮内的文本。console log语句应该显示被单击的按钮的id,无论是什么 谢谢所有能帮忙的人 $(文档)。在(“单击”

所以

我想我的问题相当简单。我提供了一个小代码片段来帮助说明这个问题

我正在尝试获取按钮的id。它可以正常工作,除非您单击按钮内的任何文本,然后jQuery尝试获取该文本

我正在使用
event.target.attributes.id.value
查找单击元素的id属性,但是如果有人知道更简单的方法,请分享

如果您需要了解问题的帮助,只需运行代码剪切并尝试单击按钮,然后单击按钮内的文本。console log语句应该显示被单击的按钮的id,无论是什么

谢谢所有能帮忙的人

$(文档)。在(“单击”、“.eat”上,事件=>{
event.preventDefault();
const id=parseInt(event.target.attributes.id.value);
console.log(id);
});

我的身份证是什么

--->点击查看!--> 我的身份证是什么

--->点击查看!-->
我会使用更多的jQuery来解决您的问题,但实际上更简单。只需按下每个按钮并向每个按钮添加一个事件

希望这就是你想要的。如果需要,乐意解释或帮助提供更好的解决方案

$('.eat')。每个(函数(){
$(此)。单击(函数(){
var id=$(this.attr('id');
console.log(id);
})
})

我的身份证是什么

--->点击查看!--> 我的身份证是什么

--->点击查看!-->
一个非常简单明了的解决方案是:

$(".eat").click(function(e) {
    e.preventDefault();
    console.log($(this).attr("id"));
})

然后您可以解析该id。

这里可能重复的问题是,我在页面上有其他按钮,所以我不能只使用通用按钮选择器。我只想用“eat”类的按钮来实现这一点。另外,我正在使用新id动态生成这些按钮,因此我认为我需要使用$(document)。在('click')上,我们可以针对calss
eat
,而不是针对按钮,谢谢!我实际上认为我使用的ES6 arrow语法可能是导致问题的部分原因。