js 点击事件 出错了 求解答

 超链接<td><a href="javascript:del_sure()" class="delete" id="${param.pageNo },${item.book.id }">删除</a></td>

方法:

 function del_sure() {

        flag = confirm("确定要删除信息吗 ?");
         if (flag) {
        strArr = $(".delete").attr("id");
        str = strArr.split(",");
        alert(strArr);
            var href = "bookServlet?method=remove&pageNo=" + str[0] + "&id="
                    + str[1] ;
            window.location.href = href;
        } 
        return;
    }

问题:得出页面是   
    item1  删除(暂记为a)
    item2  删除(暂记为b)

    我点击 a -->弹出confirm 框 -->点击取消 不进行删除操作 -->点击 b-->弹出confirm 框 -->点击确认 进行删除操作       :但是删除的是item1  请问这是怎么回事?
    ps:我是根据id删除的   就是说 无论是否取消, 他得到的id是我第一次点击的那个id  到底是哪里错了  strArr = $(".delete").attr("id");这个话不就是我点哪个就是获取当前的值吗  为什么总是先获取先点击的那个item的id

$(".delete").attr("id");得到的是第一个链接的值。。要获取对应的内容,要用dom关系来获取

 <td><a href="javascript:void(0)" onclick="del_sure(this)" class="delete" id="${param.pageNo },${item.book.id }">删除</a></td>



 function del_sure(a) {

        flag = confirm("确定要删除信息吗 ?");
         if (flag) {
        strArr = $(a).attr("id");////
        str = strArr.split(",");
        alert(strArr);
            var href = "bookServlet?method=remove&pageNo=" + str[0] + "&id="
                    + str[1] ;
            window.location.href = href;
        }
        return;
    }

可能是$(".delete")这个有问题。
这是把所有class属性为delete的组件都取到。你的代码里没有循环,导致莫名错误。

因为你两个都定义class="delete"了吧,结果获取了两个元素,删了第一个

$(".delete").attr("id")这句话写在if(flag){}里面,当我点击取消,flag不是等于false吗,根本就没进去呀,为什么取消了再点击别的删除 确认之后会删除之前点击的那个 话说点了别的删除false等于true之后,$(".delete").attr("id")不应该是当前点击的ID吗

del_sure()里面加个参数或者是加上this,后面处理是不是会更方便点呢