具有相同ID的JQuery处理元素

时间:2013-06-20 16:34:41

标签: jquery event-handling

我有相同ID的元素(图像按钮)...例如:

<input type="image" id="butt" src="zzz.jp" />
<input type="image" id="butt" src="zzz.jp" />
<input type="image" id="butt" src="zzz.jp" />

并且希望通过jQuery点击按钮来取消按钮:

$("#butt").live('click', function(){
    var i ='';
    alert('button '+i+' clicked');
});

其中变量'i'必须是单击的索引或按钮数。

如何点击按钮????

2 个答案:

答案 0 :(得分:3)

首先,您应该使用class代替id,因为 ID必须是唯一的

然后,您可以使用jquery.index function来获取点击的按钮

$(".captcha_dwn").live('click', function(){
    var index=$(this).index();
    alert('button '+index+' clicked');
});

截至 Jquery v 1.9 .live()已删除,您应该使用.on()代替,

$(".captcha_dwn").on('click', function(){
    var index=$(this).index();
    alert('button '+index+' clicked');
});

文档http://api.jquery.com/index

答案 1 :(得分:1)

继上面的评论之后,这是Rohan Kumar建议的另一种方式:

这是live jsFiddle example

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {

                $('.butn').click(function() {
                    var bid = $(this).attr('id');
                    alert(bid);
                });

            }); //END $(document).ready()

        </script>
    </head>
<body>

    <input type="image" class="butn" id="b1" src="zzz.jp" />
    <input type="image" class="butn" id="b2" src="zzz.jp" />
    <input type="image" class="butn" id="b3" src="zzz.jp" />

</body>
</html>