JQuery访问动态创建的对象

时间:2009-10-05 11:25:45

标签: jquery click

如何加入动态生成的对象(div)。 我的意思是$(document).ready(function()启动时输出中没有的DIVS。

如果我这样做:

$('#click_me').click(function() {
    $('#container').append('<div id="clicker2">can you click on me?</div>');
});

$('#clicker2').click(function() {
    alert('hurray, it works');
});

clicker2无法正常工作

我该如何解决? 我打算动态创建多个。我也希望将Jquery操作分配给它们。

3 个答案:

答案 0 :(得分:3)

.click()函数对以后添加的spans或div无效,您需要使用.live()

$("#clicker2").live("click", function(){
  # do stuff to spans currently existing
  # and those that will exist in the future
});

答案 1 :(得分:1)

在追加它之前创建div explicity并汇总其属性和事件。

var $div = $('<div />').append('can you click on me?').attr('id', 'clicker2').click(function() {
alert('hurray, it works');
});
$('#container').append($div);

答案 2 :(得分:0)

只需将点击装订放在第一个点击功能中:

$('#click_me').click(function() 
{
    $('#container').append('<div id="clicker2">can you click on me?</div>');
    $('#clicker2').click(function(){  alert('hurray, it works');   });
});

如你所知,正在调用绑定,但没有“div#clicker2”绑定到第二个函数。

希望这有帮助。