JQuery在使用相应的值渲染和替换键之后搜索dom元素
我正在尝试将我自己的本地化方法应用于我的开发Web应用程序。 知道我正在使用JQuery 2.2.0,没有任何其他框架或第三方。 我需要在我的纯HTML代码中编写一些表达式,以便:
ex-1: #{{lang.details}} ex-2:
然后,一旦dom完全呈现,我想通过dom元素并找出所有这些以“#{{”并以“}}”开头的表达式,用我的JSON中的相应值替换它们束。
我的JSON包看起来像:
var en = { details: "details", save: "save" }
我的app.js代码:
var lang = en; // jquery load en json file // search the dom elements and replace the key surrounded // by '#{{ }}' with its corresponding value from the bundle
在JavaScript或JQuery中找到这些元素的最佳方法是什么。 我不能通过第三方有任何其他解决方案吗?
页面加载后用JavaScript变量替换HTML
var doneReplacing = false; $(function() { if (doneReplacing === false) { $(document.documentElement).html(function(index, content) { return content.replace(/#{{([^}]*)}}/g, function(match, $1) { return eval($1); }); }); doneReplacing = true; } });
DEMO
Regex101经过测试
基本上它的作用是,在页面加载之后,它搜索模式#{{ variable }}
,然后将匹配替换为变量的值。