// 文檔結(jié)構(gòu)如下:
// <p>this is a p tag</p>
// <p>這是一段帶<strong>加粗</strong>標(biāo)記的文字</p>
// <p>我有兩個(gè)秘密</p>
// <ul>
// <li>其一:我個(gè)子特別高</li>
// <li>其二:我體重特別沉</li>
// </ul>
var model = editor.model;
var schema = editor.model.schema;
var root = editor.model.document.getRoot();
在首段落增加"①②"兩個(gè)字符
// end:段落內(nèi)末尾
// 0:段落內(nèi)開(kāi)頭第0個(gè)位置
// before:段落前
// after:段落后
var txt = '①②';
var paragraph = editor.model.document.getRoot().getChild(0);
editor.model.change( writer => {
writer.insertText(txt, {}, paragraph, 'end');
});
editor.model.change( writer => {
writer.insertText(txt, {}, paragraph, 0);
});
editor.model.change( writer => {
writer.insertText(txt, {}, paragraph, 'before');
});
editor.model.change( writer => {
writer.insertText(txt, {}, paragraph, 'after');
});
// 在第二個(gè)段落上,因?yàn)橛衧trong標(biāo)記的存在郊闯,所以如果想在加粗的部分增加文字,則需要如下代碼
var txt = '③④';
var paragraph = editor.model.document.getRoot().getChild(1);
editor.model.change( writer => {
writer.insertText(txt, {bold:true}, paragraph, 6);
});
// 如果你事先不知道光標(biāo)處有什么屬性怎么辦呢矫俺?
// 可以通過(guò)editor.model.document.selection.getAttributes()拿到光標(biāo)處的屬性
// 然后修改上面的代碼如下即可:
editor.model.change( writer => {
writer.insertText(txt, editor.model.document.selection.getAttributes(), paragraph, 6);
});
// 插入一段html片段
var htmlDP = editor.data.processor;
var viewFragment = htmlDP.toView('<p>這是一個(gè)‘P’標(biāo)記漆羔,右邊這個(gè)部分會(huì)被加粗 →→ <strong>我是加粗的</strong>奇瘦。');
var modelFragment = editor.data.toModel( viewFragment );
editor.model.insertContent( modelFragment );
// 獲取選中部分的模型(CKEditor5的模型)
var documentFragment = editor.model.getSelectedContent(editor.model.document.selection);