Jquery使用动态创建的变量调用对象

时间:2014-02-16 20:50:51

标签: jquery oop

我想我必须正确地搜索这个,因为我还没有找到任何解决方案。我正在使用wiris编辑器,允许用户创建丰富的textareas,然后由其他用户填充。 wiris的每个实例都有一个动态填充的名称,该名称基于已创建的编辑器数量。 $ t只是一个柜台。

editor<?php echo $t ?> = com.wiris.jsEditor.JsEditor.newInstance({'language': 'en'});

然后我需要检索每个特定编辑器的内容。

如果我输入文字对象名称

var ml = editor3.getMathML(); 

一切正常,但当我尝试使用变量来访问动态创建的对象名称

var dynamicName = 'editor'+t;
    var ml = dynamicName.getMathML();

我收到以下错误:

Uncaught TypeError: Object editor3 has no method 'getMathML'

如何使用dynamicName中创建的字符串来调用editor3对象?

1 个答案:

答案 0 :(得分:0)

我认为dynamicName不是您的对象:它应该是字符串editor3,但我无法解释错误消息;我认为消息应该是Object dynamicName has no method 'getMathML'...可能在消息中名称​​ dynamicName 被对象 dynamicName 的方法toString的返回值替换,所以字符串 editor3 本身......

无论如何,您可以尝试以下方法:

var dynamicObj = eval('editor' + t);
var ml = dynamicObj.getMathML();