Я изо всех сил пытаюсь написать функцию jQuery .each() для цикла, хотя массив, который я создал из объекта Raphael. Я могу сделать это с традиционным JS для цикла:Пытается использовать Query каждый цикл на объекте Raphael
for (var i = 0; i < regions.length; i++) {
regions[i].node.setAttribute('fill', '#113381');
}
, но когда я пытаюсь это:
$.each(regions, function (index) {
$(this).node.setAttribute('fill', '#113381');
});
Я получаю сообщение об ошибке: TypeError: не определено не является объектом (оценка «$ (это) .node.setAttribute ')
типичный элемент массива выглядит следующим образом:
var someName = rsr.path("M295.499,153.782l-0.77,4.605 l-5.786,1.016l-2.313-2.887l-1.233-3.278l-3.014-0.469l-3.39,1.013l-6.479,6.557l-5.575-0.332l-0.982-0.059l-3.936-2.262 l0.455-0.856l3.019-5.701l-1.623-1.325l2.408-4.141l11.51-0.261l5.212-0.119l-0.54,4.988l2.008,1.326l6.172-0.075L295.499,153.782z M274.037,160.428l2.193,1.402l5.325-5.342l-1.563-0.904L274.037,160.428z").attr({parent: 'someName',fill: '#CCCCCC',stroke: '#FFFFFF',"stroke-width": '0.54',"stroke-miterlimit": '10','stroke-opacity': '1'}).data('id', 'someName');
someName.attr({'id': 'someName','name': 'someName'});
regions.push(someName);
Я объявил регионы массива и дра ws мой объект Rapahel. Я был бы признателен за любую помощь, которую я могу получить. Большое спасибо.
Try без упаковки 'this' в функции jQuery' this.node'. (В jQuery нет метода 'node', о чем он жалуется). Или: '$ .each (области, функция (el) {el.node.setAttribute ('fill', '# 113381');});' – Andy
@andy Спасибо, но это не работает. Я все еще получаю сообщение об ошибке - undefined не является объектом – Chris
Хорошо, это работает: '$ .each (области, функция (индекс) { \t this.node.setAttribute ('fill', '# 003300'); }); ' – Chris