Skip to content

Instantly share code, notes, and snippets.

@Moncader
Created February 22, 2013 06:48
Show Gist options
  • Save Moncader/5011288 to your computer and use it in GitHub Desktop.
Save Moncader/5011288 to your computer and use it in GitHub Desktop.
Pretending to be an Array (like DOMTokenList needs to do)
function DOMTokenList() {
Object.defineProperty(this, 'length', {
enumerable: true,
configurable: false,
get: function() {
var tLargestNumber = -1;
var tKeys = Object.keys(this);
var tTemp, tKey;
for (var i = 0, il = tKeys.length; i < il; i++) {
tKey = tKeys[i];
tTemp = parseInt(tKey, 10);
if ((tTemp + '') === tKey) {
if (tTemp > tLargestNumber) {
tLargestNumber = tTemp;
}
}
}
return tLargestNumber + 1;
}
});
}
DOMTokenList.prototype.item = function(pIndex) {
return this[pIndex + ''];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment