У меня есть то, что, по-моему, похоже на вас, хотя у меня нет особой зависимости от моих идентификаторов, поэтому я не против поменять их на JS, у меня нет стилевого оформления, примененного к идентификаторам (я есть классы для этого).
То, что я буквально только что написал для собственного использования, вероятно, будет полезно, короче говоря, он использует jQuery для обмена всеми текстовыми областями, найденными на странице, с помощью редактора wmd, вставляя правильную структуру DOM и применяя правильные идентификаторы (замена любого существующего идентификатора текстовой области) с учетом итерации.
$('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();
});