开发者社区 问答 正文

关于jquery方法的位置的问题

说不太清楚,用图片来说明下我的问题。
screenshot

展开
收起
吴孟桥 2016-06-03 11:54:09 1866 分享 版权
1 条回答
写回答
取消 提交回答
  • 因为是回调函数的原因。 ajax请求是异步请求,返回结果后会优先执行回调函数function(data){} 这一块里的代码。而不在这个回调函数里的代码则会在执行ajax请求的同时执行。所以你把showDetail放到下面的时候,ajax函数内部还没有执行完成,造成执行showDetail的获取不到请求的数据。
    做个参数,选出新元素传递进去,你那样如果调用多次ShowAllList就会绑定多次click事件

         function ShowAllList() {
            $.post('xxxx', {}, function (data) {
                var s = '';
                //.....
                for(..)
                    s+='<tr>.....</tr>';//连接在一起先
                ShowDetail($(s).appendTo('xxx').find('a.detail'))//统一添加然后选出a绑定事件
            })
        }
        function ShowDetail(objs) {
            //objs.click(..你原来代码...)
        }
    2019-07-17 19:26:26
    赞同 展开评论
问答分类:
问答标签:
问答地址: