【问题标题】:JQuery - button won't append the divJQuery - 按钮不会附加 div
【发布时间】:2014-09-10 00:29:22
【问题描述】:

正如标题所说,当您在此处单击此代码中的按钮 btnSubmit 时:

http://jsfiddle.net/piratescott/stbmfbw8/1/

在流 div 中追加代码的功能不会运行

不起作用的按钮代码:

$(document).ready(function () {
    $("#btnSubmit").click(function () {
        $("#stream").append("chips");
    });
});

按钮是由 JQuery 预先生成的(注意最后的输入 id="btnSubit",按钮实际上是不工作的,如果不是由 jquery 生成的,则可以找到)

            $username = json.name;

            $("#stream-buttons span").append("<li id=\"streamers\"><img height=\"100px\" width=\"100px\" src=\"" + json.logo + "\"/><a href=\"" + json.url + "\"><p>" + json.display_name + "</p></a><p>Online</p><input id = \"btnSubmit\" type=\"submit\" value=\"" + $username + "\"/></li>");

【问题讨论】:

  • 由 JavaScript 动态创建的事件委托。 stackoverflow.com/questions/1687296/…$(document).on('click', '#btnSubmit', function() { //blah });
  • 尝试了几种不同的方法,但仍然没有用,尽管谢谢

标签: jquery append


【解决方案1】:

您正在将一个事件绑定到一个尚不属于 DOM 的对象。

此外,您要为多个元素分配相同的 ID,请改用 CLASS。

试试这个:

for (index = 0; index < names.length; ++index) {
    $.getJSON("https://api.twitch.tv/kraken/channels/" + names[index] + "/?callback=?", 
         function (json) {
             if (condition) {
                 // create element
             } else {
                 // create element
             }

             // bind event to created element
             $(".btnSubmit").unbind('click').bind('click', function () {
                 $("#stream").append("chips");
             });
         }
    );
}

【讨论】:

    猜你喜欢
    • 2012-07-12
    • 2016-11-07
    • 2015-07-15
    • 2017-04-11
    • 1970-01-01
    • 2017-09-16
    • 2014-11-25
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多