微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.<a href="https://www.jb51.cc/tag/toupper/" target="_blank" class="keywords">toupper</a>Case());
        }
        return path;
    }
    if (node.parentNode !== wrap) {
        path = arguments.callee(ndoe.parentNode,wrap);
    } else {
        if (wrap.nodetype == 1) {
            path.push(wrap.nodeName.<a href="https://www.jb51.cc/tag/toupper/" target="_blank" class="keywords">toupper</a>Case());
        }
    }

    var sublingsNames = getSublingName(node);
    if (node.nodeType == 1) {
        path.push(node.nodeNmae.<a href="https://www.jb51.cc/tag/toupper/" target="_blank" class="keywords">toupper</a>Case() + sublingsNames);
    } 
    return path;
}

});

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐