Satan` 2021-01-12 00:11 采纳率: 14.3%
浏览 105
已采纳

jQuery怎么获取动态生成的元素,on方法的话,父元素也是动态生成的,怎么写。

    //对json数据进行遍历
                        $.each(data,function (index,item) {
                            html = "";//每次循环数据都设置为空
                            html += "<h1 align='center'>我的订单</h1>";
                            html += "<table id='dataTb' border='1' align='center' width='500px'>";
                            html += "<tr align='center'><td>订单号</td><td>我的订单</td><td>应支付</td><td></td></tr>";
                            html += "<tr align='center'>";
                            html += "<td>"+item.num+"</td>";
                            html += "<td>"+item.name+"</td>";
                            html += "<td>"+item.price+"</td>";
                            html += "<td><a href='' class='pay'>立即支付</a></td>"
                            html += "</tr>";
                            html += "</table>";
                            
                            document.write(html);        //在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML
                            
                        });
                        
                    }

                 });
            
        });
        //支付购物车订单        //因为pay-btn按钮非本页原按钮,是刷新后的新按钮,所以点击事件要这样写。
            $('#pay-btn').on("click",'.pay',function(){
                alert(1);
            });
            

 

 

没有反应。'#pay-btn'   这个父元素也是动态生成的

  • 写回答

11条回答 默认 最新

  • 天际的海浪 2021-01-12 18:11
    关注

    你用document.write(html);就表示你的元素只是在页面加载时添加一次。
    那click事件就不需要用委托式的方式绑定了。
    可以在元素添加到页面之后直接对.pay元素本身绑定click事件。
     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

悬赏问题

  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面