Javascript,获取单击按钮的名称

时间:2014-03-14 07:19:49

标签: javascript jquery

尝试获取已单击的按钮的ID或名称。但是当我尝试访问按钮的id或名称时,我只在弹出窗口中收到未定义的消息。有人能指出我正确的方向让这个工作吗?

<!DOCTYPE html PUBLIC "-//W2C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Testing : Buttons</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>

<div id="buttons" style="width:100%;height:100%">
    <p id="custom_buttons" >
    </p>
</div>

<div id="footer">
</div>

<script type="text/javascript">
$(function() {
    var datasetPresets = ["Python", "Java", "C++"];
    var datasetPresetsContainer = $("#custom_buttons");
    $.each(datasetPresets, function(index, value) {
        datasetPresetsContainer.append("<button class=std_buttons value=" + value + ">" + value + "</button>");
    });

    $("button.std_buttons").click(function () {
        var button = $(this);
        alert(button.id);
    });

});

</script>
</body>
</html>
</html

4 个答案:

答案 0 :(得分:5)

基本上,试试

  

警报(this.id);

而不是

  

警报(button.id);

但是这个问题显示了最低限度的研究工作,因为这里已经多次回答,只需简单的搜索即可:

How to get ID of button user just clicked?

Getting the ID of the element that fired an event

Get id of element on button click using jquery

how to get the id when a certain button is clicked using jquery

答案 1 :(得分:2)

在纯JavaScript中,你会做这样的事情

$("button.std_buttons").click(function (event) {
    var button = event.target;
    alert(button.id);
});

在此处详细了解事件对象https://developer.mozilla.org/en/docs/Web/API/Event

答案 2 :(得分:0)

您需要使用attr()来获取按钮的id,因为button是一个jQuery对象:

alert(button.attr('id');

或者您可以保留选择器,但不要将其转换为jQuery对象:

var button = this;
alert(button.id);

答案 3 :(得分:0)

你只需使用attr(),使用jquery中的attr(“属性名称”)访问属性

button.attr('id');

或只是

 $(this).id