我使用 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/