x.each() giving strange results
I have the following functions:
- data = getDataFromCell($self);
- updateParents(data);
- function getDataFromCell(cell) {
- var data = [];
- classes = cell.attr('class').split(' ');
- $.each(classes, function(intIndex, className) {
- if (className.indexOf('pg') == 0) {
- data['parent'] = className.substr(2);
- }
- if (className.indexOf('col') == 0) {
- data['col'] = className.substr(3);
- }
- if (className.indexOf('g') == 0) {
- data['group'] = className.substr(1);
- }
- });
- return data;
- }
- function updateParents(data) {
- parents = $('.g'+data['parent']+'.col'+data['col']);
- parents.removeClass('am_allow');
- parents.removeClass('am_deny');
- parents.find('a').text("?");
-
- parents.each(function(parent) {
- var parentData = getDataFromCell(parent);
- updateParents(parentData);
- });
- }
This code runs fine, until it reaches line 26. When it tries to fetch the data (note that it does this succesfully in line 1) it says "cell.attr()" (line 5) is not an existing method. Why is this happening?