$(this).children(":last").prev().children("a").on("click",function() {
   alert("Hello");
});

解决方案 »

  1.   


    on我也试过,一样无效,好像这两个基本一样?
    因为a元素本身就有可点击属性,所以点击之后,还是会响应其原始的事件,比如href=‘#’,就会在地址栏最后加一个#。不知道会不会是因为原始事件覆盖了后加的事件?。。
      

  2.   

    那你可试一下,bind或live咋!
      

  3.   

    你之前的绑定是$(this).children(":last").prev().children("a").on("click",function() {
       alert("Hello");
    }); 与普通click绑定一样
    试试这样绑定
    $(this).on("click",".info-add a",function() {
       alert("Hello");
    });
      

  4.   

    $(this).children(":last").prev().children("a").on("click",function() {
       alert("Hello");
       return false;
    });
      

  5.   

    你的元素是动态生成的吗?
    如果是的话用live或者delegate绑定
      

  6.   

    试了一下各种方法,感觉像是绑定上去了,就是没效果啊。。
    图片中有a元素的click事件,不过代码位置是jquery里关于click这类方法的位置,而不是.click调用的实际位置
    用原始的onclick = function是不会出现那个a元素的click listener的
      

  7.   

    live jquery1.9就移除了啊,现在倒不是找不到元素或者无法绑定,而是绑定了之后无效。
    我直接把a改成p元素,click listeners里面也有,但是那个alter("hello");怎么样都无法触发
      

  8.   

    首先,使用firebug查看是否页面出现了脚本错误
    再次,确认你的代码找到了a元素
    最后。你可以使用
    $(document).on("click",".info-add",function(){
    alert("ok")
    })
    如果再不行,请发完整的代码给我
      

  9.   

    虽然不知道为什么,但用类似思路居然搞定了把class改成id,因为我有上百个div.info-add,改成div#info-add-playerId(playerId动态变化)
    然后$(document).on("click", "#info-add-" + playerId + " a", function() {
       alert("OK" + playerId);
    });就搞定了,不过再请教一下,
    为啥
    $("#info-add-" + playerId).on("click", "a", function......)
    这样就不行呢?id是唯一的,应该也可以准备获取相应的div啊。
    多谢