我使用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);
};
但是我需要在项目的不同位置使用编辑器,使用不同的textareas。因此,使用class而不是id属性会很好。怎么能实现这个目标?
答案 0 :(得分:2)
我有我想象的类似情况,虽然我没有特别依赖我的ID,所以我不介意用JS交换它们,我没有应用于ID的样式(我有课程。)
我真正为自己编写的内容可能会有所帮助,简而言之,它使用jQuery通过插入正确的DOM结构并应用正确的ID来替换页面上的所有textareas与wmd编辑器。 (替换任何现有的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();
});