我目前正在用javascript编写自己的小模板引擎。
以下是模板的外观:
<!-- Defines the template for the ribbon. -->
{{TMPL:Import=tabs.tmpl; Name=Tabs}}
<div id="{{ribbonId}}" class="ribbon">
<!-- All the different tabs are being rendered here. -->
{{Render:Tabs}}
</div>
你可能会看到在div元素的id中,我想渲染我对象的ribbonId的值。
现在,我有一个对象功能区,其定义如下:
var ribbon = {ribbonId:&#34; mainRibbon&#34; }
现在,我如何通过它的名字来获取ribbonId的值?
因此,模板引擎会请求类似的内容:
var templateName = ribbonId;
alert(ribbon.templateName);
在提醒中,我希望收到&#39; mainRibbon&#39;。
在Javascript或jQuery中是否可以这样?
亲切的问候,
答案 0 :(得分:1)
当变量用作键时,你不能使用点表示法,你需要使用括号表示法,而不是:
alert(ribbon.templateName);
DO
var ribbon = { ribbonId: "mainRibbon" };
var templateName = "ribbonId"; //string
alert(ribbon[templateName]);
demo :: JsFiddle