在动态创建的子输入中的keypress上获取动态创建的父元素的类

时间:2014-02-17 22:53:09

标签: jquery

当我在该div中动态创建输入中的某个键时,我需要获取动态创建的div的id。我点击按钮后同时创建它们:

HTML:

<div id="known">
    <button id="create">Create</button>
</div>

Jquery的:

$(document).ready(function(){
    $("#create").on("click", function(){
        var num = 0;
        $("#known").append("<div id='unknown_" + num + "'><input type='text' class='get_id'/>");
        num++;
    });
});

这部分非常明显,但是当我必须附加获取id的函数以便它可以工作时,我无法解决问题。我试过这样的话:

$(".get_id").on("keypress", function(){
    var id = $(this).parent().attr("id");
    alert(id);
});

但是它不起作用,因为在页面的加载中不存在任何具有类get_id的元素,并且如果我将它附加到存在其div已知的下一个更高元素,那么我不能使用父函数来得到那个id,因为它会让我知道身份。这有可能吗?

1 个答案:

答案 0 :(得分:0)

将它们放在相同的点击功能中,并将数字放在外面,如

$(document).ready(function(){
var num = 0;

$("#create").on("click", function(){

    $("#known").append("<div id='unknown_" + num + "'><input type='text' class='get_id'/></div>");
    num++;

    $(".get_id").on("keypress", function(){
        var id = $(this).parent().attr("id");
        alert(id);
    });
});
});