$("#table_tc").html(html)
});
ejs ソース コード
コードをコピー
コードは次のとおりです:
$.define("ejs", "lang",function(){
var
_startOfHTML = "t__views.push(",
_endOfHTML = ");n",
sRight = "&>"、
rLeft = /s*<&s*/、
rRight = /s*>s*/、
rAt = /(^|[^wu00c0- uFFFF_])(@)(?=w)/g,
rLastSemi = /[,;]s*$/
var ejs2 = $.ejs = function(id,data){
data = data ||.startOfHTML = _startOfHTML,
endOfHTML = _endOfHTML,
el = document.
if (!el) throw "ターゲット要素が見つかりません"
str = el.innerHTML;
var arr = str.trim().split(rleft),
buff = ["var __views = [];n"],temp = [],i = 0, n = arr .length,els,segment; 🎜>if( ~segment.indexOf(sright) ){//ここでは els.length === 2 を使用せず、IE の分割バグを回避します
switch ( els[ 0].charAt(0) ) {
case "="://处理后台返還的变量(页面に出た);
ロジック = els[0].substring(1);
if(logic.indexOf("@")!==-1){
temp.push(startOfHTML,logic.replace(rAt,"$1data.").replace(rlastSemi,''), HTML の終わり );
}else{
temp.push( startOfHTML,logic.replace(rlastSemi,''), endOfHTML );
}
休憩;
case "#"://处理注释
break;
default://处理逻辑
logic = els[0];
if(logic.indexOf("@")!==-1){
temp.push(logic.replace(rAt,"$1data."), "n" );
}else{
temp.push(logic, "n" );
}
}
//处理静态HTML片断
els[1] && temp.push(startOfHTML, $.quote( els[1] ), endOfHTML)
}else{
//处理静态HTML片断
temp.push(startOfHTML, $.quote( els[0] ), endOfHTML );
}
}
ejs2[id] = new Function("data",buff.concat(temp).join("") ';return __views.join("");');
return ejs2[id]( data )
}
return ejs2[id]( data )
}
})
// ejs v9!