element.nextElementSibling没有返回正确的元素

时间:2019-03-20 13:30:40

标签: javascript ckeditor ckeditor5

我正在使用CKEditor 5在每个具有textarea class的{​​{1}}上创建一个文本丰富的编辑器。

编辑器确实附加到了我的html页面。

现在,当我尝试使用.section-dynamique-fr通过javascript访问编辑器时,如控制台控制台检查器在节点树中所示,它没有返回其e.nextElementSibling,而是返回了nextElementSibling

有人知道为什么我无法访问e.nextElementSibling吗? (带有e.nextElementSibling.nextElementSibling class的div)?

有关HTML节点结构,请参见附件图像

enter image description here

.ck-editor

1 个答案:

答案 0 :(得分:2)

这是因为执行create后未创建编辑器。您需要将代码替换为then回调。 callbackPromise,将在完全创建编辑器后解决。参见documentaion

document.querySelectorAll('.section-dynamique-fr').forEach( (e) => {

    ClassicEditor
        .create( document.querySelector('#' + e.id), {
            // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ]
        } )
        .then( editor => {
            window.editor = editor;
            thisEditor = editor;
            console.log(e.nextElementSibling);
        } )
        .catch( err => {
            console.error( err.stack );
        } );