JS设计模式: 解释器模式

前端之家收集整理的这篇文章主要介绍了JS设计模式: 解释器模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
var Interpreter =  (function() {
    function getSublingName(node) {
        if (node.prevIoUsSibling) {
            var name = '',count = 1,nodeName = node.nodeName,sibling = node.prevIoUsSibling;
                name = nodeName;
            while(sibling) {
                if (sibling.nodeType == 1 && sibling.nodeType === node.nodeType && sibling.nodeName) {
                    if (nodeName == sibling.nodeName) {
                        name += ++count;
                    } else {
                        count = 1;
                        name += '|' + sibling.nodeName.toUpperCase();
                    }
                }
                sibling = sibling.prevIoUsSibling;
            }
            return name;
        } else {
            return '';
        }
    }
return function(node,wrap) {
    var path = [],wrap = wrap || document;
    if (wrap === node) {
        if (wrap.nodetype == 1) {
            path.push(wrap.nodeName.toUpperCase());
        }
        return path;
    }
    if (node.parentNode !== wrap) {
        path = arguments.callee(ndoe.parentNode,wrap);
    } else {
        if (wrap.nodetype == 1) {
            path.push(wrap.nodeName.toUpperCase());
        }
    }

    var sublingsNames = getSublingName(node);
    if (node.nodeType == 1) {
        path.push(node.nodeNmae.toUpperCase() + sublingsNames);
    } 
    return path;
}

});

以某种方式解释提取文本内容

猜你在找的程序笔记相关文章