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

如何获取当前Froala编辑器ID?点击自定义按钮后从this提取#jobEditor

嘿,我来帮你搞定这两个Froala编辑器的问题~

问题1:如何获取当前Froala编辑器的ID?

要获取Froala编辑器的ID,核心是找到编辑器对应的根DOM元素,再提取它的id属性。这里有两种常见场景的实现方式:

  • 初始化后直接获取:如果你已经保存了编辑器实例的引用,直接通过实例的$el属性(指向编辑器根DOM元素的jQuery对象)提取ID即可:
// 初始化编辑器并保存实例
const myEditor = new FroalaEditor('#jobEditor');

// 获取编辑器ID
const editorId = myEditor.$el[0].id;
console.log(editorId); // 输出:jobEditor
  • 在编辑器事件中获取:比如在编辑器初始化完成的回调里,this会指向编辑器实例,同样通过$el来获取:
new FroalaEditor('#jobEditor', {
  events: {
    initialized: function() {
      const editorId = this.$el[0].id;
      console.log('编辑器ID是:', editorId);
    }
  }
});
问题2:点击自定义按钮时,从this中提取编辑器DIV的ID

你提到点击自定义按钮时console.log(this)显示出目标DIV的ID(#jobEditor),这里分几种情况来处理:

  1. 如果this是编辑器的根DOM元素本身(比如<div id="jobEditor">这个DOM节点),直接取它的id属性就好,注意这个属性是不带#的:
click: function() {
  const editorId = this.id;
  console.log(editorId); // 输出:jobEditor
}
  1. 如果this是Froala编辑器的实例对象,通过实例的$el属性(jQuery对象)获取DOM元素的ID:
click: function() {
  // 方式1:访问原生DOM元素的id属性
  const editorId = this.$el[0].id;
  // 方式2:使用jQuery的attr方法
  const editorId = this.$el.attr('id');
  console.log(editorId); // 输出:jobEditor
}
  1. 如果this是jQuery包装后的DOM元素,可以用jQuery的attr方法,或者转成原生DOM元素后取id:
click: function() {
  const editorId = this.attr('id'); // jQuery方式
  // 或者
  const editorId = this[0].id; // 转成原生DOM元素后取id
  console.log(editorId);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:15:40