Вход

Просмотр полной версии : Как вывести всех детей?


AquaGen
22.06.2011, 05:49
Сабж, как это сократить?
for (var i=0;i!=$(this).children().length;i++) {
if (i==1) document.write($(this).children().next().attr('id' ));
if (i==2) document.write($(this).children().next().next().at tr('id'));
if (i==3) document.write($(this).children().next().next().ne xt().attr('id'));
if (i==4) document.write($(this).children().next().next().ne xt().next().attr('id'));
if (i==5) document.write($(this).children().next().next().ne xt().next().next().html());
if (i==6) document.write($(this).children().next().next().ne xt().next().next().next().html());
if (i==7) document.write($(this).children().next().next().ne xt().next().next().next().next().html());
if (i==8) document.write($(this).children().next().next().ne xt().next().next().next().next().next().html());
if (i==9) document.write($(this).children().next().next().ne xt().next().next().next().next().next().next().htm l());
if (i==10) document.write($(this).children().next().next().ne xt().next().next().next().next().next().next().nex t().html());
}

NoResponse
22.06.2011, 07:50
я фреймворки не очень хорошо знаю, но возможно сработает вот так
if (i>0)
if (i<5) {
document.write($(this).children()[i].attr('id'));
}else if (i<11){
document.write($(this).children()[i].html());
}
}

kobezzza
22.06.2011, 09:22
Кошмар какой-то) тут можно сделать простую рекурсию и код сократить до 1-й строчки) и фреймворки для такой задачи тож моно спокойно не юзать)

AquaGen
22.06.2011, 11:07
document.write($(this).children()[i].attr('id'));
не работает

nikita.mmf
22.06.2011, 12:04
for ( var child = this.firstChild, k = 0; child; ) {
if ( child.nodeType == 1 ) {
if ( k > 0 && k < 5 ) {
document.write( child.id );
} else if ( k < 11 ) {
document.write( child.innerHTML );
}
k++;
}
child = child.nextSibling;
}

nikita.mmf
22.06.2011, 12:05
NoResponse, вместо

$(this).children()[i].attr('id')

в jQuery надо писать

$(this).children().eq(i).attr('id')

AquaGen
22.06.2011, 14:27
спасибо, работает :)

NoResponse
22.06.2011, 18:01
nikita.mmf
вот оно как
спасибо, буду знать