zoukankan      html  css  js  c++  java
  • 基于Jquery的XML解析器,返回定制的HTML

    依据HTML模板返回解析的XML 
    依赖jQuery 1.4
    ​1. [代码]基于Jquery的xml解析器并返回定制的HTML     
    /**
     *  jQuery插件
     *  Author: purecolor@foxmail.com
     *  Date  : 2011-02-16
     *  Params: dom:XMLDocument ,
     *          _default:{
     *              reg:匹配标签正则,
     *              lc:标签左结束符,
     *              rc:标签右结束符,
     *              script:是否包含script,
     *              scriptID:包含script的节点,
     *              tplBox:模板,
     *              tplhtml:信息条目
     *          }
     *  Return: HTMLDocument
     *  Note  : XML处理插件
     *           
     */
    (function($){
        $.fn.extend({
            parseXML:function(dom,option){
                var that=$(dom);
                var html={};
                var tpl='';
                 
                //配置数据
                var _default={
                    reg:/{w+}/gi,
                    lc:'{',
                    rc:'}',
                    script:true,
                    scriptID:'script',
                    tplBox:'<ul class="indexiframelist skin3">{item}</ul>{more}',
                    tplhtml:{
                        item:'<li><a href="{link}"><span class="timer">{pubDate}</span>{title}</a></li>',
                        more:'<div class="moreLink"><a href="{link}">{title}</a></div>',
                        script:'function {funcationname}{{funcationcode}}'
                    }背景音乐http://www.huiyi8.com/bgm/​
                }       
                var option=$.extend(_default,option);
                 
                //开始处理tplBody
                $.each(option.tplhtml,function(o,str){
                    var rego=str.match(option.reg);
                    html[o]=[];
                    $(o,that).each(function(){
                        var D=$(this),shtml=str;
                        $.each(rego,function(i,c){
                            shtml=shtml.replace(c,D.find(c.replace(option.lc,'').replace(option.rc,'')).text());
                        }); 
                        html[o].push(shtml);
                    });
                }); 
                 
                //开始处理tplBox
                var tplHtml=option.tplBox;
                tpl=option.tplBox.match(option.reg);
                $.each(tpl,function(i,c){
                    tplHtml=tplHtml.replace(c,html[c.replace(option.lc,'').replace(option.rc,'')].join(''));
                }); 
                 
                //向页面添加script
                if(option.script){          
                    var script=document.createElement('script');
                    script.type="text/javascript";
                    script.text=html[option.scriptID].join('');
                    $('html > head').append(script);
                }   
                 
                return tplHtml;
            }
        });
    })(jQuery);

  • 相关阅读:
    Unity PhysicsScene测试
    游戏编程精粹学习
    Unity StreamingMipmaps 简单测试
    稀疏贴图 SparseTexture
    前端工程师是怎样一种职业
    web资源预加载-生产环境实践
    2019年终总结——三十而立
    一种前端灰度发布方案
    2018年终总结——越过山丘
    记录一个前端bug的解决过程
  • 原文地址:https://www.cnblogs.com/xkzy/p/3937515.html
Copyright © 2011-2022 走看看