1

我使用Pagedown需要为wmd-inputtextarea 提供 id。在 中写成如下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 属性。怎样才能做到这一点?

4

1 回答 1

2

我有我想象的与你类似的情况,虽然我对我的 ID 没有特别的依赖,所以我不介意用 JS 换掉它们,我没有对 ID 应用样式(我有类那)。

我实际上只是为自己使用而编写的内容可能会有一些用处,简而言之,它使用 jQuery 通过插入正确的 DOM 结构并应用正确的 ID(替换任何现有的 textarea 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();
});
于 2012-04-08T21:24:57.907 回答