javascript - Pagedown 使用类属性而不是 id

标签 javascript jquery editor markdown pagedown

我使用 Pagedown这需要将 wmd-input 的 id 提供给 textarea。在Markdown.Editor.js中是这样写的:

function PanelCollection(postfix) {
    this.buttonBar = doc.getElementById("wmd-button-bar" + postfix);
    this.preview = doc.getElementById("wmd-preview" + postfix);
    this.input = doc.getElementById("wmd-input" + postfix);
};

但是,我需要在项目的不同位置使用具有不同文本区域 ID 的编辑器。因此最好使用 class 而不是 id 属性。如何实现?

最佳答案

虽然我对我的 ID 没有特定的依赖,但我认为我的情况与您类似,所以我不介意将它们换成 JS,我没有对 ID 应用任何样式(我有类(class))。

我只是为自己使用而编写的内容可能会有一些用处,简而言之,它使用 jQuery 通过插入正确的 DOM 结构并应用正确的 ID,用 wmd 编辑器替换页面上找到的所有文本区域(替换任何现有的文本区域 ID)并考虑迭代。

$('textarea').each(function(i) {
  var panel = $('<div/>', {'class': 'wmd-panel'});

  panel.append(
    $('<div/>', {'id': 'wmd-button-bar-' + i, 'class': 'wmd-button-bar'}),
    $(this).clone().attr('id', 'wmd-input-' + i)
  );

  $(this).replaceWith(panel);

  panel.after($('<div/>', {'id': 'wmd-preview-' + i, 'class': 'wmd-preview'}));

  var converter = Markdown.getSanitizingConverter();
  var editor = new Markdown.Editor(converter, '-' + i);
  editor.run();
});

关于javascript - Pagedown 使用类属性而不是 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501818/

相关文章:

c# - 为什么 Unity 在进入编辑器文件夹时在脚本上提供 "enabling toggle"?

javascript - 在 vue 属性中添加条件而不是使用 v-if 条件

jquery - 如何使用 JQuery 和 CSS 显示以逗号分隔的动态填充的跨度元素?

javascript - JSP 使用@include 提供服务时出现 jQuery 验证插件问题

javascript - 指令不生成 html

themes - 如何在Notepad++文本编辑器中更改背景颜色?

javascript - (角色扮演游戏?)HTML5 和 Javascript 中的对话系统 - 这可能吗?

javascript - 是否可以在网络套接字中建立房间的概念?

用于复杂 CSS 属性的 Javascript API

data-structures - 文本编辑器理论