将Javascript变量放入其他变量';s定义

将Javascript变量放入其他变量';s定义,javascript,jquery,html,ckeditor,Javascript,Jquery,Html,Ckeditor,我正在为ckeditor编写一个小插件 在启动按钮时,我试图让编辑器获取原始html数据以发送到服务器。 正确的语法是 CKEDITOR.instances.div_id.getData() 或者 CKEDITOR.instances[div_id].getData() 然而,这是获取一个名为id的集合,我希望它相对于其父id var id = $(this).parent().attr("id"); var htmlcontent = CKEDITOR.instances.id.getDat

我正在为ckeditor编写一个小插件

在启动按钮时,我试图让编辑器获取原始html数据以发送到服务器。 正确的语法是

CKEDITOR.instances.div_id.getData()
或者
CKEDITOR.instances[div_id].getData()

然而,这是获取一个名为id的集合,我希望它相对于其父id

var id = $(this).parent().attr("id");

var htmlcontent = CKEDITOR.instances.id.getData();
我意识到我不知道如何插入一个var,而不考虑它是一个属于CKEDITOR的函数。我应该知道这一点,但我就是想不起来

有趣的是,这可能不是一个有效的家长id抓取器

编辑:解决CKeditor问题(在网上不容易找到) CKeditor有一些内置API来获取容器元素id

这是一个用于CKeditor插件的工作id抓取器,下面的答案有助于构建数据抓取语法:

var id = editor.container.getId();
var htmlcontent = CKEDITOR.instances[id].getData();

截至2014年4月12日,为什么不
var htmlcontent=CKEDITOR.instances.id.getData()工作?原因是
id
是一个变量,它保存了先前存储在行中的确切id

var id = $(this).parent().attr("id");
这个
id
变量包含类似于“myElementId”的内容。为了使用该字符串,如果您事先不明确知道“myElementId”的名称,则需要使用“括号表示法”(Related:)访问instances对象

因此,这将起作用

var htmlcontent = CKEDITOR.instances[id].getData();

如果“myElementId”是以前存储的父元素的id,则类似于
CKEDITOR.instances.myElementId.getData()

如果您已经有
编辑器
对象,则根本不需要使用
CKEDITOR.instances
,只需使用

editor.getData();

您在上面编写了示例-
CKEDITOR.instances[id].getData()
@Cheery-您应该将该注释转换为答案。嗯,如果答案是这样的话,那么CKEDITOR问题可能会更深一些。但我会记为正确的谢谢你的详细解释。这就消除了语法上的混乱