Здравствуйте. Пишу плагин для CKEditor и возник следующий вопрос.
Имеется
диалоговое окно с двумя полями для ввода
contents : [
{
id : 'general',
label : 'Строка',
elements : [
{
type : 'textarea',
id : 'firstLine',
label : 'Строка - ссылка',
cols: 140,
rows: 1,
validate : CKEDITOR.dialog.validate.notEmpty( 'Строка не может быть пустой' ),
required : true,
setup : function( firstElement )
{
var html = firstElement.getHtml();
if ( html )
{
var div = document.createElement( 'p' );
div.innerHTML = html;
this.setValue( div.firstChild.nodeValue );
}
},
commit : function( firstElement )
{
firstElement.setHtml( CKEDITOR.tools.htmlEncode( this.getValue() ) );
}
},
{
type : 'textarea',
id : 'contents',
label : 'Текст',
cols: 140,
rows: 22,
validate : CKEDITOR.dialog.validate.notEmpty( 'Поле не может быть пустым' ),
required : true,
setup : function( element )
{
var html = element.getHtml();
if ( html )
{
var div = document.createElement( 'div' );
div.innerHTML = html;
this.setValue( div.firstChild.nodeValue );
}
},
commit : function( element )
{
element.setHtml( CKEDITOR.tools.htmlEncode( this.getValue() ) );
}
}
]
}
]
и есть обработка
OnShow:
onShow : function()
{
var sel = editor.getSelection(),
element = sel.getStartElement(),
firstLineElement = sel.getStartElement(); //пока что заглушка
if (( !element || element.getName() != 'ht' || !element.hasClass( editor.config.hidetext_class )) && ( !firstLineElement || firstLineElement.getName() != 'aht' || !firstLineElement.hasClass( editor.config.link_hidetext_class )))
{
element = editor.document.createElement( 'ht' );
firstLineElement = editor.document.createElement( 'aht' );
this.insertMode = true;
}
else
this.insertMode = false;
if (( element ) && (firstLineElement))
{
element = element.getAscendant( 'ht', true );
firstLineElement = firstLineElement.getAscendant( 'aht', true );
}
this.aht = firstLineElement;
this.setupContent( this.aht );
this.ht = element;
this.setupContent( this.ht );
}
Так вот
вопрос в следующем:
Если с одним элементом все понятно (как его найти и редактировать), то как сделать тоже самое для двух элементов? С поисками по тэгу или по ID не получается