选择动态插入的HTML元素以更改简单的CSS规则

时间:2016-04-13 10:24:05

标签: javascript jquery html css

我目前有一个代码可以让我“检查”表格单元格,但我动态创建的代码不适用于此。

$("td").click(function(){
        $(this).toggleClass("active");
    });

这段代码适用于静态元素,但是当我创建一个元素时......:

$("#boton").click(function(){
    var object = {
        name : $("#nombre").val(),
        dni : $("#dni").val(),
        telefono : $("#telefono").val()
    };

    if(count<5){
        count++;
        $("#tabla").append("<tr><td>"+object.name+"</td><td>"+object.dni+"</td><td>"+object.telefono+"</td>");
    }else{
        $("#boton").hide();
        alert("You added too much elements!");

    }

...该元素不可选。事件不会为它开火。我怎么能改变这个?

2 个答案:

答案 0 :(得分:2)

为了检测当前和未来实例的点击次数,您需要delegate the event到存在的元素(例如正文):

$("body").on("click","td",function(){
    $(this).toggleClass("active");
});

答案 1 :(得分:1)

您需要更改功能的第一行:

$("body").on("click","td",function(){