Javascript 我无法操纵/选择通过Ajax调用加载的div?

Javascript 我无法操纵/选择通过Ajax调用加载的div?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个简单的应用程序,为了简单起见,我决定使用ajax来加载级别,无论出于什么原因,我都可以学习一下 但是我被卡住了 $.ajax({ url: "actions.php", get: "GET", data: "show_level=" + 1, cache: false, success: function (views){ $(".slides_container").append(views); } }); 问题是,附加

我有一个简单的应用程序,为了简单起见,我决定使用ajax来加载级别,无论出于什么原因,我都可以学习一下

但是我被卡住了

$.ajax({
    url: "actions.php",
    get: "GET",
    data: "show_level=" + 1,
    cache: false,
    success: function (views){
        $(".slides_container").append(views);
    }
});
问题是,附加到容器中的视图不再是可选的,基本上所有jquery函数我都停止了一起工作


发生了什么事?

如果您正在使用像$.target element.clickfunction{do somethine}这样的绑定;当绑定发生时,它们仅对DOM中已经存在的元素有效


您需要使用$element-ready-in-dom.onclick、.target元素、函数{do somethine here}

您是非事件冒泡的受害者

将事件绑定到元素时,通常在窗口加载时执行此操作。如果在窗口加载后将元素添加到DOM中,则事件将不会绑定到它,尽管它满足事件处理程序规定的所有其他条件

相反,您必须使用委托,这意味着事件被绑定到页面上的非更改元素,然后冒泡到正确的元素

$('.appended-view').click(function(event) { ... }
行不通

$('body').on('click', '.appended-view', function(event) { ... } 

将起作用

如果您试图在视图中添加标记定义的元素后与它们交互,那么没有理由不起作用。因此,在成功处理程序中,在append行之后。如果你能创建一个,我们可能会帮助你,但是上面的问题很好,除了一个无关紧要的小错误-问题在其他地方。我很确定你想要type:GET-not-GET:GET你在上面有一个小错误,但这并不重要。它应该是类型:GET,而不是GET:GET。这并不重要,因为没有get选项,get是默认类型。你是说像“单击”事件这样的事件在附加元素上不起作用吗?@ceruleus.live从jQuery 1.7开始就不推荐使用。应该使用on:pain重写所有选择器:S有没有更快的方法?就像ajax调用的move all to success函数一样?当然可以,但更快并不一定意味着更好。您可能会多次重复代码,而这些代码只能重复一次。例如,如果我不将此滑块放在success msg中,它将不起作用。我该如何按照你建议的方式重写?var unislider=$.slides\u container.dpUniSlider{//loop:false,draggable:false};p、 s..slides_容器是一个有效的DOM元素,只是它的lis来自ajax。