控制台报错里三个都是404,就是找不到文件而已。节点长度为0我觉得是执行时机的问题,因为Ajax是异步回调的,也就是说,你这个下边的$(".typechange");在执行时,$.get的回调并不一定就是已经执行完的状态,并且我觉得这么大段的innerHTML,执行时间大概够$(".typechange");跑好几圈了。如果想看到打印出对象,把这个$(".typechange");写到Ajax回调里就好~
另外提两个点:
var ajaxrun = function(){}然后再跟ajaxrun();这里感觉没什么必要,建议精简掉以减小代码阅读的难度;
这么大段的innerHTML,建议你改用$()逐个包装缓存,再一次性append进去的方式或者干脆,用模版写法吧。
加个修改后的(中间的字串拼接没动):
function selectTab() {
$.get('jason2.json')
.done(function (data) {
var imgDta = data;
var html = '';
for (var i = 0; i < imgDta.length; i++) {
// console.log("wo de"+imgDta.length)
html += '
'
for (var k = 0; k < imgDta[i].round.length; k++) {
html += '' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'';
}
html += '
'
'
- ';
html += '
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
' +'
' +'' +
'' +
'' +
'
';html += '
' +'
'
}
$('.typechangeWrap').append(html);
})
.done(function () {
var typechange = $('.typechange');
console.log(typechange)
});
}
selectTab();
又改了一版不过好像有点晚了……
function selectTab() {
$.get('jason2.json')
.done(function (data) {
var imgDta = data;
var html = [];
$.each(imgDta, function (i, val) {
// 构造几个包装对象
var typechange = $('
var mArea = $('
var rArea = $('
// 第一部分
$.each(imgDta[i].round, function (j, pic) {
var pic1 = $('').attr('src', pic.pic1).wrap('');
var pic2 = $('').attr('src', pic.pic2).wrap('');
var pic3 = $('').attr('src', pic.pic3).wrap('');
mArea.append(pic1, pic2, pic3);
});
// 第二部分
var iii = val.round[0]; // 缓存下偷个懒
var pic4 = $('').attr('src', iii.pic4).wrap('
');var pic5 = $('').attr('src', iii.pic5).wrap('
');var pic6 = $('').attr('src', iii.pic6).wrap('
');var pic7 = $('').attr('src', iii.pic7).wrap('
');var pic8 = $('').attr('src', iii.pic8).wrap('
');var pic9 = $('').attr('src', iii.pic9).wrap('
');var pic10 = $('').attr('src', iii.pic10).wrap('
');rArea.append(pic4, pic5, pic6, pic7, pic8, pic9, pic10);
// 拼装
typechange.append(mArea, rArea);
// 缓存
html.push(typechange);
});
$('.typechangeWrap').append(html);
}).fail(function(){
console.error('!!!ERROR');
}).done(function () {
var typechange = $('.typechange');
console.info('--- typechange ---');
console.dir(typechange);
});
}
selectTab();
没有json文件所以并没跑测试……题主留着参考吧~