jQuery函数不适用于“动态”创建的元素

时间:2011-09-09 17:12:27

标签: javascript jquery

我通过JavaScript动态创建了一些元素:

tmpString += '<a class="small_text add" id="' + variable_id + '_add" href="#" > add </a>';
$('#mydiv').html(tmpString);

问题

jQuery函数不适用于这些“动态”元素,相同的jQuery函数适用于其他普通元素(如我的网站菜单中的“a”标记)。

这是我的jQuery代码:

$('a').click(function(){ e.preventDefault(); alert(1); });

3 个答案:

答案 0 :(得分:6)

您需要使用livedelegate

$('a').live('click', function() {
    //your code
});

答案 1 :(得分:1)

对您动态添加的元素使用live()

$('a').live("click", function(e){ e.preventDefault(); alert(1); });

答案 2 :(得分:0)

每次动态创建元素时都应该调用click处理程序。