You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何给所有带editor类的textarea应用CKEditor?仅首个生效怎么解决

问题原因

  • document.querySelector('.editor') 仅会返回页面中第一个匹配.editor类的DOM元素,所以只有第一个textarea成功加载了编辑器
  • 要给所有同类名的textarea批量加载编辑器,需要先获取全部匹配元素再逐个初始化

修正后的脚本代码

<script src="assets/js/ckeditor.js"></script>
<script>
// 获取所有带editor类的文本框元素
const editorElements = document.querySelectorAll('.editor');
// 遍历逐个初始化CKEditor
editorElements.forEach(el => {
    ClassicEditor
        .create(el, {
            // 此处可保留原有的工具栏等自定义配置
            // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ]
        })
        .catch(err => {
            console.error(err.stack);
        });
});
</script>

如果后续需要调用指定的编辑器实例,可以将实例按元素的id存储到全局对象中,无需额外调用的话以上代码直接替换原有脚本即可正常使用。

内容的提问来源于stack exchange,提问作者Esraa Alsharit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:54:03