我正在构建一个构建<dl>
表的CKEditor 3插件。使用iframedialog插件,我在弹出的ckeditor对话框中创建了一个IFrame。我可以使用任意数量的<dl>
元素创建<dt>/<dd>
表并进行编辑。但是,这只适用于一个<dl>
表,因为当我有多个时,我无法找到哪一个被选中,每个都有自己唯一的ID。
我可以访问plugin.js文件中的选定<dl>
表。使用var声明的
onShow: function () {
var sel = editor.getSelection(),
element = sel.getStartElement();
selectedDL = element.getAscendant('dl', true);
if (selectedDL) {
alert(selectedAccordion.getAttribute('id'));
}
},
但我无法弄清楚如何在对话框iframe中获取所选DT的ID。我的插件解决方案基于以下链接:
答案 0 :(得分:0)
我通常的解决方案是在页面加载时通过计数器动态生成ID,并使用DOM操作将它们附加到标记。然后,您可以将它们推送到数组,并通过数组索引对它们进行寻址,或者您可以通过唯一ID来解决它们。
var counter=1;
var dlarray = [];
$( "dl" ).each(function( index ) {
var idname = "element" + counter.toString;
$(this).attr('id', 'idname');
dlarray.push(this);
counter++;
});