Javascript 无法选择使用append动态添加的json元素

Javascript 无法选择使用append动态添加的json元素,javascript,jquery,arrays,json,dynamic-arrays,Javascript,Jquery,Arrays,Json,Dynamic Arrays,我正在尝试制作一个简单的交叉淡入淡出滑块,但这次使用的是从json文件检索并动态添加到容器中的图像 我可以很容易地获得json文件中包含所有信息的所有图片,但一旦我以后必须选择它们,我就无法获得。好像他们不在那里。这不是我第一次动态添加html元素。我经常使用.append或.prepend,一旦它们被创建,我就可以很容易地找到它们的子对象 所以我有一个div,在其中动态加载一些图像。这次我想再次从dom中提取它们,而不是从json文件中,这样我就可以用它们制作一个滑块插件 $.fn.slide

我正在尝试制作一个简单的交叉淡入淡出滑块,但这次使用的是从json文件检索并动态添加到容器中的图像

我可以很容易地获得json文件中包含所有信息的所有图片,但一旦我以后必须选择它们,我就无法获得。好像他们不在那里。这不是我第一次动态添加html元素。我经常使用.append或.prepend,一旦它们被创建,我就可以很容易地找到它们的子对象

所以我有一个div,在其中动态加载一些图像。这次我想再次从dom中提取它们,而不是从json文件中,这样我就可以用它们制作一个滑块插件

$.fn.slider = function(options) {
  var picstore, $fig,
  def   = {
    json: undefined,
    dataName: 'jsonslider'
  },
  cfg   = $.extend( true, def, options ),
  store = cfg.json,
  dataN = cfg.dataName, 
  $wrap = $( this ),
  $next = $wrap.next();

$.getJSON( store, function( data ) {
  picstore = data.pictures;

  for ( i = 0; i < picstore.length; i++ ) {
    $wrap.append( '<figure data-' + dataN +'="' + i + '"><img src="' + picstore[i].url + '" alt="' + picstore[i].alt + '"/></figure>' );
};
我什么都试过了

$fig=$wrap.children不起作用

$fig=$'[data-'+dataN+'=0]'不起作用

你建议我做什么

这里是解决方案

$.getJSON( store, function( data ) {
  var arr = $.map(data, function(el){ return el; });

  for ( i = 0; i < arr.length; i++ ) {
    $wrap.append($('<figure data-' + dataN +'="' + i + '"><img src="' + arr[i].url + '" alt="' + arr[i].alt + '"/></figure>'));
  };

  var figs = $wrap.children();
  figs.first().addClass( 'slider-active' );
});

您不能在函数外部动态访问json对象。

您的append中应该有$this:$wrap.append$'@erkaner它不起作用!