jQuery处理程序 - 如何将动作应用于动态添加的元素

时间:2013-08-23 10:45:37

标签: javascript jquery jquery-validate

可以处理为动态创建的元素添加事件处理程序,如下所示:

In jQuery, how to attach events to dynamic html elements?

$('body').on('click', 'a.myclass', function() {
    alert( $(this).text() );
});

然而,我想说我想对动态添加的元素执行操作。

在下面的示例中,$(' inout.wp')是在此代码运行后添加的,我希望在处理程序触发时使用jQuery Validator对它们进行全部验证:

<input type="text" name="wp_address_0" placeholder="Enter a Town, City or Postcode" id="wp_address_0" class="geocode wp">

<script>
$('body').on('click', 'a.myclass', function() {
    $('input.wp').valid();
});
</script>

我想也许我可以使用.find:

$('body').on('click', 'a.myclass', function() {
    $("#waypoints").find('input.wp').valid();
});

但它没有帮助。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

<强>替换

$('body').on(

<强>与

$(document).on(

答案 1 :(得分:0)

好的,这比我想象的要容易得多,我应该在问之前意识到......

$('body').on('click', 'a.myclass', function() {
    $('#waypoints input.wp').valid();
});

只要您为选择器中的动态元素引用静态容器,就会找到它们。