jQuery - 访问动态构建的元素

时间:2013-06-15 00:37:01

标签: jquery

我有一个标题为“问题数”的文本框,用户输入一个整数。每当他们输入一个数字时,就会运行以下代码:

$('#dmc_mc_questionCount').keyup(function() {
    var amount = $(this).val();

    add_to = "";
    for(i = 0; i < amount; i++) {
       var current = i + 1;
       add_to = add_to + current + "<input type='input' name='data[Section][mc_answers][]' value='" + i +"' id='mc_answers_" + i + "' maxlength='1'> ";
    }

    $('#mc_answer_key').html(add_to); 
});

以下代码有效:

<span id="test">Test</span>

$('#test').click(function() {
    var x = $('#mc_answers_0').val();
    alert(x);
});

但以下情况并非如此:

$('#mc_answers_0').click(function() {
    alert('d');
});

为什么我无法访问#mc_answers_0?!

1 个答案:

答案 0 :(得分:2)

活动授权:

$(document).on('click', '#mc_answers_0', function() {
    alert('d');
});

#mc_answers_0在DOM就绪时不存在,所以你处理程序永远不会。