Returning Arrays And ChildNodes
I have the following code: var actionsAllowed = $(packet).find('actionsAllowed').get(); var actionArray = $(actionsAllowed).each(function () { var actionNodes = this.childNode
Solution 1:
$(actionsAllowed).each
returns the first element of the iteration. You seem to want this :
var actionArray = [];
$(actionsAllowed).each(function () {
var actionNodes = this.childNodes;
var actionNumber = actionNodes.length;
var array = new Array(actionNumber)
for (var i = 0; i < actionNodes.length; i++) {
var action = actionNodes[i].nodeName
array[i] = action
console.log(action);
}
actionArray.push(array);
});
EDIT : If what you want is a big array instead of an array of arrays, change it to
var actionArray = [];
$(actionsAllowed).each(function () {
var actionNodes = this.childNodes;
for (var i = 0; i < actionNodes.length; i++) {
var action = actionNodes[i].nodeName
actionArray.push(action);
console.log(action);
}
});
Solution 2:
Here's another alternative:
var actionArray = $('actionsAllowed > *').map(function (el) {
return el.nodeName;
}).get();
Post a Comment for "Returning Arrays And ChildNodes"