我正在Javascript中构建一个包含HTML的字符串。
现在,我正在做这样的事情:
var filter = "";
filter = util.getTemplate( "tmp_filter", temps );
filter = filter.replace( 'id="tmp_filter"','');
if (dyn.table.i18n) {
filter = filter.replace(util.regex.re_text, dyn.filter.clear_tx);
} else {
filter = filter.replace('data-i18n="[title]tmp_text"', 'title="'+dyn.filter.clear_tx+'" ');
filter = filter.replace('data-i18n="tmp_text">','>'+dyn.filter.clear_tx);
}
filter = filter.replace(util.regex.re_theme, dyn.filter.theme);
filter = filter.replace(util.regex.re_icon, dyn.filter.icon);
filter = filter.replace(util.regex.re_iconpos, dyn.filter.iconpos);
filter = filter.replace('class="ui-listview-filter ', 'class="ui-listview-filter '+ dyn.custom_classes[0]+' ');
其中提取模板并使用dyn
中指定的数据替换所有占位符。
虽然这样做有效,但却有很多替换电话。在SQL中,我可以嵌套替换这样的调用
SELECT LEN(REPLACE(REPLACE(address, ' CA', ''), ' NY', '')) FROM Tbl
问题:
Javascript中有更好的方法可以进行多个replace
调用吗?我不介意代码的长度,但我对filter = filter.replace
有点不安。只是想知道是否有更好的方法吗?
谢谢!
答案 0 :(得分:1)
您可以链接所有替换