Javascript / Jquery - 通过它的名称获取对象属性

时间:2014-07-31 17:48:35

标签: javascript jquery

我目前正在用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中是否可以这样?

亲切的问候,

1 个答案:

答案 0 :(得分:1)

当变量用作键时,你不能使用点表示法,你需要使用括号表示法,而不是:

alert(ribbon.templateName);

DO

var ribbon = { ribbonId: "mainRibbon" };
var templateName = "ribbonId"; //string
alert(ribbon[templateName]);

demo :: JsFiddle