私は CKEDITOR を持っていて、コンテンツを n 個の部分に分割しようとしています。ユーザーは、カーソルを CKEDITOR の特定の位置に置き、その後、ユーザーが選択したコンテキスト メニューのオプションを使用して、必要な部分の数を示します。 「分割ブロック」、これは
HTML のタグ:
ユーザーはCKEDITORでこれをn回実行できます。これは、ユーザーがコンテンツを分割したいブロックの数を示すためのもので、挿入される各時間は1ブロックです。
したがって、ユーザーが終了したら、コンテキスト メニューの [Process Split] をクリックすると、このアクションが実行され、コンテンツが n 個の部分に分割されます。
これはコンテンツを分割する私のコードです:
var index = 0;
var tmpItem = null;
var ranges = new Array();
var elements = editor.document.getElementsByTag( 'hr' );
for ( var i = 0; i < elements.count() ; i++ )
{
var item = elements.getItem( i );
ranges[index] = new CKEDITOR.dom.range( editor.document );
if(tmpItem!=null)
ranges[index].setStart(tmpItem, CKEDITOR.POSITION_BEFORE_START);
else{
ranges[index].setStartAfter(editor.document.getBody().getFirst());
}
if(item.hasClass('split-end')){
ranges[index].setEnd(item, CKEDITOR.POSITION_BEFORE_START);
ranges[index].select();
index++;
var sel = editor.getSelection();
var ran = sel.getRanges();
var el = new CKEDITOR.dom.element("div");
for (var j = 1, len = ran.length; j < len-1; ++j) {
el.append(ran[j].cloneContents());
}
console.log( el.getHtml() );
}
tmpItem = item;
}
問題は、ドキュメントの先頭から最初の HR までを選択する方法などです。
どうもありがとう、私はこれを1週間以上やろうとしてきましたが、他に何をしようとしているのかわかりません.