コード例 #1
0
ファイル: transversal.js プロジェクト: JosephClay/d-js
    getPositionalUntil = function(getter, d, selector) {
        var result = [],
            idx,
            len = d.length,
            siblings,
            iterator;

        if (selector) {
            var is = Fizzle.is(selector);
            iterator = function(sibling) {
                var isMatch = is.match(sibling);
                if (isMatch) {
                    result.push(sibling);
                }
                return isMatch;
            };
        }

        for (idx = 0; idx < len; idx++) {
            siblings = getter(d[idx]);

            if (selector) {
                _.each(siblings, iterator);
            } else {
                result.push.apply(result, siblings);
            }
        }

        return result;
    },
コード例 #2
0
ファイル: transversal.js プロジェクト: JosephClay/d-js
    getPositional = function(getter, d, selector) {
        var result = [],
            idx,
            len = d.length,
            sibling;

        for (idx = 0; idx < len; idx++) {
            sibling = getter(d[idx]);
            if (sibling && (!selector || Fizzle.is(selector).match(sibling))) {
                result.push(sibling);
            }
        }

        return result;
    },
コード例 #3
0
ファイル: transversal.js プロジェクト: JosephClay/d-js
    _crawlUpNode = function(node, context, stopSelector) {
        var result = [],
            parent = node;

        while ((parent = _getNodeParent(parent))     &&
               !nodeType.doc(parent)                 &&
               (!context      || parent !== context) &&
               (!stopSelector || !Fizzle.is(stopSelector).match(parent))) {
            if (nodeType.elem(parent)) {
                result.push(parent);
            }
        }

        return result;
    },
コード例 #4
0
ファイル: transversal.js プロジェクト: JosephClay/d-js
 filter = selector ? function(sibling) { return Fizzle.is(selector).match(sibling); } : exists;