javascript - jQuery 在点击时追加 div

标签 javascript jquery html append

所以我在 jQuery 中制作这个东西,如果用户单击按钮,就会出现一个 div 并要求用户输入一些注释(基本上是便签功能)。

HTML 和 CSS 都正确完成,唯一的问题是 jQuery 无法工作:

    $(document).ready(function() {
    $("#top-tabs ul li").hover(function() {
        $(this).find("ul>li").stop().fadeToggle(400);
    });

    $("#submitpnote").on("click", function() {
        $("body").append("<div id='pnoteprompt'><input id ='input-pnote'type='text' placeholder='your note title'></input><input id ='input-pnote-p'type='text' placeholder='your note'></input><button id=confirmpnote>confirm note</button></div>");
        $("#pnote-prompt").fadeTo(100, 1);

    });

    $("#confirmpnote").on("click", function() {
        var $pnotetitle = document.getElementById("input-pnote").value;
        var $pnotep = document.getElementById("input-pnote-p").value;
        $("#pnotes-list").append("<div class='pnote-title'><li>" + $pnotetitle + "<br>" + $pnotep + "</li></div>");
        $("#pnoteprompt").remove();
    });

});

js jQuery 文件已正确链接。只是在submitpnote函数(第二个)中,div没有 append 。我单击按钮,屏幕上什么也没有出现。我尝试放置一些prompt()调试器并且该方法正在运行,但div似乎没有 append 。

有谁知道为什么会这样吗?谢谢!

最佳答案

据我所知,confirmpnote 是动态创建的内容,因此您不能执行 $(#confirmnote) 操作,因为在执行代码时它不存在。

对于动态创建的内容使用:

(document).on('click', 'selector', function(){
 //to stuff
});

选择器例如是#confirmpnote

关于javascript - jQuery 在点击时追加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29061278/

相关文章:

jquery - 根据 div 与父级自动更改底部

javascript - 点击功能的问题

javascript - bootstrap.js Accordion 活跃指数?

php - 搜索引擎优化/PHP : How to Convert Form-Submit URL (Get-Method) without Javascript SEO-Friendly?

javascript - 如何避免在刷新时重置本地存储中的 JSON 对象?

javascript - 如何检查工具提示图像是否超出屏幕

javascript - 使用jQuery setInterval同步css关键帧动画

javascript - jQuery UI(在屏幕上可见时运行)

javascript - 如何使用jquery隐藏/显示

javascript - 如何制作按钮/链接以在 &lt;iframe&gt; 而不是页面中显示源代码?