Я пытаюсь присвоить вложенный объект (в casperjs
):Назначают ребенок объект в casperjs
var yearz = [];
var yearz2 = $('#form_model optgroup');
yearz2.each(function() {
var theyear = $(this).attr('label');
var theobj = {
Year: theyear,
Thing: [{}]
};
for (var i = 0; i < $(this).children().length; i++){
theobj["Thing"].push({Name: $(this).children()[i].attr("value")});
}
yearz.push(theobj);
});
this.echo(yearz)
возвращается null
Вы можете увидеть проблему?
С наилучшими пожеланиями
EDIT
var yearz = [];
var yearz2 = $('#form_model optgroup');
yearz2.each(function() {
var theyear = $(this).attr('label');
var lengthch = $(this).children().length;
var thisch = $(this).children();
var theobj = [];
var alls = [];
for (var i = 0; i < lengthch; i++){
alls.push(thisch.attr("value"));
}
theobj = {
Year: theyear.trim(),
Thing: alls
};
yearz.push(theobj);
});
Это толкает тот же элемент в alls
массиве. Но их два. Как я могу нажать оба из них, а не дважды?
Это не работает:
for (var i = 0; i < lengthch; i++){
alls.push(thisch[i].attr("value")); //Note [i] here.
}
Вам нужно объяснить, что вы подразумеваете под «не работает» – Itay
@Satpal не работает. Возвращаемый объект «null» – user1665355
Что возвратил объект? У вас нет оператора возврата в этом коде. – Quentin