无法使用jquery获取按钮的ID

时间:2013-08-10 20:03:24

标签: jquery

我正在尝试使用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 个答案:

答案 0 :(得分: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); 
    });
});

Fiddle

答案 1 :(得分:2)

试试这个:

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

答案 2 :(得分:0)

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

Check this live demo

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

答案 3 :(得分:0)

这更适用于您的示例:

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

无论如何你可以用

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

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