javascript - 使用 jQuery 访问动态创建的项目?

标签 javascript jquery html

我有一个页面,其中一些 html 被动态添加到该页面。

这是创建的 html 和 javascript:

<div>
    <script type="text/javascript" language="javascript">
        $('#btn').click(function() {
            alert("Hello");
        });
    </script>

    <a id="btn">Button</a>
</div>

查看我的 Firebug 控制台,我收到一条错误消息:

TypeError: $("#btn") is null

jQuery 最初是在页面上加载的。

我在这里做错了什么?

最佳答案

您必须将 on()(或 on() 方法中定义的事件)绑定(bind)到 DOM 中存在的元素jQuery 已运行。通常这是在 $(document).ready() 或类似的地方。

在页面加载/DOM 准备就绪时,绑定(bind)到 DOM 中将附加 $('#btn') 元素的最近元素。

假设您正在将 $('#btn') 加载到 #container div 中(例如),给:

<div id="container">
    <div>
        <a href="#" id="btn">Button text</a>
    </div>
</div>

然后使用:

$('#container').on('click', '#btn', function(){
    alert('Button clicked!');
});

关于javascript - 使用 jQuery 访问动态创建的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325575/

相关文章:

javascript - 如何获取其id具有点和美元符号的dom元素的值

javascript - 使用 JavaScript 更改网页中的文本

php - 在 jQuery 函数中获取结果 PHP 代码?

jQuery水平动画而不是垂直动画

javascript - 如何用js从json中赋值

javascript - 防止 JQuery 触发后重新加载页面

html - 对齐不同高度的 float

javascript - innerHTML 命令中存在大量 HTML 代码的问题

Javascript JsTestDriver Jasmine 和 Jasmine-jquery

javascript - 如何使用jquery选择器获取第三个或第四个元素并设置其id