1 //语法:$.makeDom( str,data,reg)
2 //参数:str 字符格式的带有标记的原始文本, data {name:value} ,reg 可选的替换模式
3 //返回:string
4 // 2011-02-28 XZH 目前只实现了字符变量的传递。数组、循环还需要努力啊。
5
6 $.dataReg = function(str,data,reg){
7
8 var reg = reg || /\%([a-z]+)\%/g ;
9
10 var rep = function(){
11
12 return typeof data[arguments[1]] == 'string' ? data[arguments[1]] : arguments[0] ;
13
14 }
15
16 return str.replace(reg,rep);
17
18 }
1//配合上文的makeDom示例2
3 var d = {
4 username:'用户名',
5 userinfo: '用户信息'
6 }
7 $('.baseinfo').text( $.dataReg( $('.baseinfo').text(),d ) );
这个函数其实可以写在makeDome里面,目前只是变量替换,以后实现语法分析就能对数组、对象进行支持了。
差点忘了,还有 $('.baseinfo')的dom结构
1 {tag:'span',cls:'baseinfo',txt:'%username%在线',nvs:{title:'%userinfo%'}}