我正在为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-grabber
编辑:解决CKeditor问题(在网上不容易找到) CKeditor有一些内置的API来获取容器元素id。
这是CKeditor插件的工作ID抓取工具,数据抓取语法由以下答案构成:
var id = editor.container.getId();
var htmlcontent = CKEDITOR.instances[id].getData();
截至2014年4月4日
答案 0 :(得分:3)
为什么var htmlcontent = CKEDITOR.instances.id.getData();
无效?原因是id
是一个变量,其中包含先前存储在行
var id = $(this).parent().attr("id");
此id
变量包含" myElementId"在里面。为了使用该字符串,您需要使用"括号表示法访问实例对象" (相关:Working with Objects MDN)如果您不明确知道" myElementId"提前。
结果,这将起作用
var htmlcontent = CKEDITOR.instances[id].getData();
如果" myElementId"并且类似于CKEDITOR.instances.myElementId.getData()
是先前存储的父元素的id。
答案 1 :(得分:0)
如果您已有editor
个对象,则根本不需要使用CKEDITOR.instances
,只需使用
editor.getData();