如何通过ID引用java脚本中动态生成的元素

How can I refer by ID to the dynamic generated elements in java script?

本文关键字:动态 元素 脚本 何通过 ID 引用 java      更新时间:2023-09-26

我在java脚本中有以下代码:

$(document).ready(function(){
    var i = 1;
    $("#add_row").click(function(){
        $('#listOfCommercials').append('<div id="singleCommercial' + i + '"></div>');
        $('#singleCommercial' + i).html('...');
        i++; 
        alert(i);
    });
    $("#delete_row").click(function() {
        if (i > 1) {
            $("#singleCommercial" + (i - 1)).html('');
            i--;
        }
    });
});

,当用户每次按下按钮时,它都会生成额外的字段。你可以在我的小提琴http://jsfiddle.net/7yd5o63q/4/中看到它我想在那里包含datetimepicker通常我会写:

$('#datetimepicker').val(dd+"/"+mm+"/"+yy+" "+time);
    jQuery('#datetimepicker').datetimepicker({
    });

但是因为我要生成很多字段:那么我怎么能引用所有这些,并将日期时间选择器附加到所有这些(似乎id不能是相同的所有他们)?

谢谢。

您实际上不需要id来设置:

$(document).ready(function(){
    $("#add_row").click(function(){
        var newCommercial = $("<div class='singleCommercial'><div class='form-group'>...<input class='datetimepicker'...</div>");
        newCommercial.appendTo($('#listOfCommercials'));
        newCommercial.find('.datetimepicker').val(dd+"/"+mm+"/"+yy+" "+time).datetimepicker();
    });
    $("#delete_row").click(function() {
        $(this).closest('.singleCommercial').remove();
    });
});

可以使用类,而不是id。

<input type="text" class="form-control datatimepicker"...
$('.datetimepicker').val(dd+"/"+mm+"/"+yy+" "+time);
    jQuery('.datetimepicker').datetimepicker({
    });