在jQuery appendTo函数之后选择一个元素

Eri*_*son 2 ajax jquery

我需要通过jQuery动态地将一组元素附加到div,然后转向并引用它们.你不能这样做真的很奇怪,因为如果你在firebug中查看DOM,元素就在那里.jQuery就好像它们不存在一样.

HTML ...

<div id="images"></div>
Run Code Online (Sandbox Code Playgroud)

这给了我添加到<div>...的元素

        $.getJSON("http://localhost/wordpress/test.php",
        function(data){
          $.each(data, function(i,item){
            $("<img/>").attr("src", item).appendTo("#images");
          });
        });
Run Code Online (Sandbox Code Playgroud)

然后我立即尝试选择并使用图像......

        $("img").each(
            function(i,item) {
                alert(item);
            });
Run Code Online (Sandbox Code Playgroud)

jQuery不会选择任何新添加的元素.它基本上就像没有添加任何图像一样.

Jer*_*all 5

我猜想当你运行第二块代码时,图像还不存在.getJSON调用是异步的.这意味着您不知道它何时返回并将图像元素添加到页面.

您是否尝试在调用appendTo的同一函数中添加第二个代码块?当人们执行异步代码时,这是混淆的常见原因.