首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CKEditor中使用数据处理器更改图像

在CKEditor中使用数据处理器更改图像
EN

Stack Overflow用户
提问于 2018-01-29 17:34:56
回答 1查看 68关注 0票数 0

我正在尝试从CKEditor中的图像更改HTML输出,但在迭代从数据处理器函数返回的元素时遇到了问题。

编辑器中的HTML:

代码语言:javascript
运行
复制
<p>Test</p>

<p><img alt="" class="align-left" height="170" src="http://example.local/assets/img/uploads/photo.jpg" width="161" />&nbsp;some text</p>

数据处理器:

代码语言:javascript
运行
复制
htmlFilter.addRules( {
    elements : {
        $ : function( element ) {
            console.log(element.children);
            element.children.forEach(function(ele) {
                console.log(ele);
            });
        }
    }
});

我想简单地使用像element.name == 'img'这样的东西来查找图像标记,但是只解析了p-tags。当我登录element.children时,我在第二段中看到img

但是,当我使用element.children.forEach(function(ele) { console.log(ele); })迭代element.children时,我得到的是这个标记,而不是img标记,span包含img

有人知道发生了什么吗?如何访问镜像标签?

我使用的是增强图片插件btw,尽管我不认为这有什么关系。

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 19:47:49

请使用img而不是$。无论何时切换到源模式或从编辑器中获取数据,您都会通过该代码获得图像。

代码语言:javascript
运行
复制
var editor = CKEDITOR.replace( 'editor1', {
    on: {
        pluginsLoaded: function( evt ) {
            evt.editor.dataProcessor.htmlFilter.addRules( {
                elements: {
                    img: function( el ) {
                        console.log( el );
                    }
                }
            } );
        }
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48498138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档