jquery没有用

时间:2013-03-07 06:38:03

标签: javascript jquery html

我使用jquery:

$("a").click(function(event) {
    alert("true")
    var $d_id = $(this).attr("name").substring(2)
    var $d_link = 'd_' + $d_id

    $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
        $d_id + '" name="d_' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});

和html:

<div id=d_1></div>

当我第一次点击显示消息(true)并插入图片时,但当我再次点击时,消息不会显示。为什么我不能在第一次点击后看到该消息?

2 个答案:

答案 0 :(得分:0)

您的选择器按原样不会绑定到DOM准备好后创建的元素。您需要使用.on()绑定到静态父级。

使用最简单的例子:

$("body").on('click', 'a', function(event) {
    alert("true");
    var $d_id = $(this).attr("name").substring(2);
    var $d_link = 'd_' + $d_id;

    $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
        $d_id + '" name="' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});

答案 1 :(得分:0)

使用on委托活动......

$(document).on("click","a",function(event) {
     alert("true")
     var $d_id = $(this).attr("name").substring(2);
     var $d_link = 'd_' + $d_id;

     $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
    $d_id + '" name="' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});

了解on关于{{1}}直接和委派活动的更多信息。