Changeset 1160

Show
Ignore:
Timestamp:
10/10/06 07:44:11 (2 years ago)
Author:
therve@gmail.com
Message:

Some docs, small changes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • mochikit/branches/selector/MochiKit/Selector.js

    r1158 r1160  
     1/*** 
     2 
     3MochiKit.Selector 1.4 
     4 
     5See <http://mochikit.com/> for documentation, downloads, license, etc. 
     6 
     7(c) 2005 Bob Ippolito and others.  All rights Reserved. 
     8 
     9***/ 
     10 
    111if (typeof(dojo) != 'undefined') { 
    212    dojo.provide('MochiKit.Selector'); 
     
    4353 
    4454MochiKit.Selector.Selector.prototype = { 
    45  
     55    /*** 
     56 
     57    Selector class: convenient object to make CSS selections. 
     58 
     59    ***/ 
    4660    __class__: MochiKit.Selector.Selector, 
    4761 
     62    /** @id MochiKit.Selector.Selector.prototype.parseExpression */ 
    4863    parseExpression: function () { 
    4964        function abort(message) { 
     
    97112    }, 
    98113 
     114    /** @id MochiKit.Selector.Selector.prototype.buildMatchExpression */ 
    99115    buildMatchExpression: function () { 
    100116        var params = this.params; 
    101117        var conditions = []; 
    102         var clause
     118        var clause, i
    103119 
    104120        function childElements(element) { 
     
    116132        } 
    117133        if ((clause = params.classNames).length > 0) { 
    118             for (var i = 0; i < clause.length; i++) { 
     134            for (i = 0; i < clause.length; i++) { 
    119135                conditions.push('MochiKit.DOM.hasElementClass(element, ' + repr(clause[i]) + ')'); 
    120136            } 
    121137        } 
    122138        if ((clause = params.pseudoClassNames).length > 0) { 
    123             for (var i = 0; i < clause.length; i++) { 
     139            for (i = 0; i < clause.length; i++) { 
    124140                var match = clause[i].match(/^([^(]+)(?:\((.*)\))?$/); 
    125141                var pseudoClass = match[1]; 
     
    233249    }, 
    234250 
     251    /** @id MochiKit.Selector.Selector.prototype.compileMatcher */ 
    235252    compileMatcher: function () { 
    236253        this.match = new Function('element', 'if (!element.tagName) return false; \ 
     
    238255    }, 
    239256 
     257    /** @id MochiKit.Selector.Selector.prototype.nthChild */ 
    240258    nthChild: function (element, a, b, reverse, sametag){ 
    241259        var siblings = MochiKit.Base.filter(function (node) { 
     
    258276    }, 
    259277 
     278    /** @id MochiKit.Selector.Selector.prototype.findElements */ 
    260279    findElements: function (scope, axis) { 
    261280        var element; 
     
    331350        } 
    332351 
    333         var results = []; 
    334         for (var i = 0; i < scope.length; i++) { 
    335             if (this.match(element = scope[i])) { 
    336                 results.push(element); 
    337             } 
    338         } 
     352        var results = MochiKit.Base.filter(MochiKit.Base.bind(function (scopeElt) { 
     353            return this.match(scopeElt); 
     354        }, this), scope); 
    339355 
    340356        return results; 
    341357    }, 
    342358 
    343     toString: function () { 
    344         return this.expression; 
    345     } 
    346  
     359    /** @id MochiKit.Selector.Selector.prototype.repr */ 
     360    repr: function () { 
     361        return 'Selector(' + this.expression + ')'; 
     362    }, 
     363 
     364    toString: MochiKit.Base.forwardCall("repr") 
    347365}; 
    348366 
    349367MochiKit.Base.update(MochiKit.Selector, { 
    350368 
     369    /** @id MochiKit.Selector.findChildElements */ 
    351370    findChildElements: function (element, expressions) { 
    352371        return MochiKit.Base.flattenArray(MochiKit.Base.map(function (expression) {