jquery使用数据属性更多点击功能

时间:2014-05-18 15:37:24

标签: javascript php jquery html

我必须链接多个内容(db查询的结果)。我尝试使用多个点击功能,但网站真的很慢,所以我尝试这样做。

PHP编写的HTML元素:

<img id="click" src="images/like.png" alt="" width="80%" data-event="'.$rows[$i][id].'"/>

jQuery代码:

<script>

    $(document).ready(function()

    {

        $('#click').click(function()
        {

            var id = $(this).data('event');
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari

                xmlhttp=new XMLHttpRequest();                   
                xmlhttp.open("GET","likes.php?eid="+id+"&ip=IPADDRESS",true);
                xmlhttp.send();

            }
            document.location = "index.php";

        });

    });
</script>

但它只适用于第一个元素......

3 个答案:

答案 0 :(得分:2)

$("#click") 

只返回第一个元素。因为ID必须是唯一的。

而是将其更改为class,它将起作用

$(".click") 

这将返回所有图像的列表

但是你仍然可以使用上面未经修改的HTML,但我不推荐它

$("img[id^=click]") // don't use this ever , just to know even this will work

答案 1 :(得分:0)

通过以下方式更改您的代码:

<img class="like" src="images/like.png" alt="" width="80%" data-event="'.$rows[$i][id].'"/>

你的jQuery代码

<script>

    $(document).ready(function()

    {

        $('.like').click(function()
        {

            var id = $(this).data('event');
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari

                xmlhttp=new XMLHttpRequest();                   
                xmlhttp.open("GET","likes.php?eid="+id+"&ip=IPADDRESS",true);
                xmlhttp.send();

            }
            document.location = "index.php";

        });

    });
</script>

答案 2 :(得分:-1)

使用ID而不是类的原因 尝试更改#click .click