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