加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

JS设计模式: 解释器模式

发布时间:2020-12-15 00:30:40 所属栏目:C语言 来源:网络整理
导读: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 siblin
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;
}

});

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读