Skip to content

Instantly share code, notes, and snippets.

@Moncader
Created February 22, 2013 06:48

Revisions

  1. Moncader created this gist Feb 22, 2013.
    27 changes: 27 additions & 0 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    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 + ''];
    }