// 文档结构如下:
// <p>this is a p tag</p>
// <p>这是一段带<strong>加粗</strong>标记的文字</p>
// <p>我有两个秘密</p>
// <ul>
// <li>其一:我个子特别高</li>
// <li>其二:我体重特别沉</li>
// </ul>
var model = editor.model;
var schema = editor.model.schema;
var root = editor.model.document.getRoot();
在首段落增加"①②"两个字符
// end:段落内末尾
// 0:段落内开头第0个位置
// 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');
});
// 在第二个段落上,因为有strong标记的存在,所以如果想在加粗的部分增加文字,则需要如下代码
var txt = '③④';
var paragraph = editor.model.document.getRoot().getChild(1);
editor.model.change( writer => {
writer.insertText(txt, {bold:true}, paragraph, 6);
});
// 如果你事先不知道光标处有什么属性怎么办呢?
// 可以通过editor.model.document.selection.getAttributes()拿到光标处的属性
// 然后修改上面的代码如下即可:
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>这是一个‘P’标记,右边这个部分会被加粗 →→ <strong>我是加粗的</strong>。');
var modelFragment = editor.data.toModel( viewFragment );
editor.model.insertContent( modelFragment );
// 获取选中部分的模型(CKEditor5的模型)
var documentFragment = editor.model.getSelectedContent(editor.model.document.selection);
网友评论