jquery - 使用 jQuery 选择新元素

标签 jquery

我正在学习 jQuery/javascript,有一个相当基本的问题。为什么这不起作用?提前致谢。

<script type="text/javascript">
            $(document).ready(function () {
                $('<div/>', {
                    id: 'foo',
                    text: 'Does not work'
                }).appendTo('body');       });
</script>

<script type="text/javascript">
            $("#foo").click(function () {
                alert('Success'); });
</script>

最佳答案

它不起作用,因为第二个脚本部分将在 $(document).ready 触发之前执行。因此它将尝试将 onclick 处理程序附加到尚不存在的元素。

您可以通过在添加元素时将 click() 事件附加到元素来使其工作:

$(document).ready(function () {
    $('<div/>', {
         id: 'foo',
         text: 'Does not work'
    })
    .appendTo('body')
    .click(function() {
       alert('Success');
    });       
});

或者使用on():

$('document').on("click", "#foo", function() {
  alert('Success');
});

关于jquery - 使用 jQuery 选择新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9058016/

相关文章:

javascript - jQuery - 滚动时的平滑缩放转换

两个函数之间的 jQuery 切换()不起作用

javascript - slider 无法正常工作

javascript - 选择相邻元素的子元素

jquery - 是否可以使用 jQuery 选择器来访问 Struts2 元素而不需要插件?

javascript - 用 jquery 格式化钱

javascript - jQuery PageBeforeShow 事件多次绑定(bind)

javascript - 更换 Click Mobile Hybrid 时出现的问题

javascript - 当它们排在下一个时,如何不切换到第一个或最后一个 "li element"?

javascript - jQuery 选择元素内匹配的文本