0

我正在尝试使用 jquery 获取按钮的 ID,但无法使其正常工作。下面是我的完整代码。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>

<script type="text/javascript">
    $("button").click(function() {
        alert(this.id); 
    });
</script>
</head>

<body>
    <input id="some_id1" type="button" value="0"/>
</body>
</html>

编辑 下面是更新的代码,但它仍然无法正常工作。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="./gridster.js_files/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$("input").click(function(){
    alert($(this).attr("id"));
});
</script>
</head>

<body>
    <input id="some_id1" type="button" value="0"/>
</body>
</html>

编辑 2 这行得通

<script type="text/javascript">
$(function(){
$("input").click(function(){
    alert($(this).attr("id"));
});
});
</script>
4

4 回答 4

4

问题是您将处理程序设置在button标签上,但您的 html 有一个输入标签。更改您的选择器$("input")

$("input").click(function() {
    alert(this.id); 
});

编辑 :

您还可以保留 javascript 并更改 html 按钮的输入:

<button id="some_id1" value="0">Click me!</button>

编辑 2,遵循 OP 的编辑:

您的代码不起作用,因为它是在您的页面上写入按钮之前执行的。您有两种选择:在正文之后编写 javascript,或者像这样包装您的函数:

$(function() {
    $("input").click(function() {
       alert(this.id); 
    });
});

小提琴

于 2013-08-10T20:06:25.523 回答
2

尝试这个:

$("input").click(function(){
    alert($(this).attr("id"));
});
于 2013-08-10T20:07:33.290 回答
0

这对于您的示例更具体:

$("input[type='button']").click(function(){
    alert(this.id);
});

无论如何你可以做到

$("input").click(function() {
        alert( this.id );
    });

只要您的 html 中只有 1 个输入。

于 2013-08-10T20:17:55.983 回答
0

使用按钮的ID,而不是简单地写按钮

检查这个现场演示

$(document).ready(function() {
     $("input").click(function( event ) {
        alert( this.id );
    });
});
于 2013-08-10T20:09:33.473 回答