Question

j'utilise Bas de page qui nécessite de donner une pièce d'identité de wmd-input à TextArea. Il est écrit comme le suivant 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);
};

Cependant, j'ai besoin d'utiliser l'éditeur à divers endroits du projet avec différents ID de TextAreas. Il serait donc agréable d'utiliser la classe au lieu de l'attribut ID. Comment peut-il y parvenir?

Était-ce utile?

La solution

J'ai ce que j'imagine est une situation similaire à vous, même si je n'ai pas de dépendance spécifique à mes identifiants, donc ça ne me dérange pas de les échanger avec JS, je n'ai pas de style appliqué aux identifiants (j'ai des cours pour ce).

Ce que j'ai littéralement écrit pour mon propre usage sera probablement d'une certaine utilité, en bref, il utilise jQuery pour échanger tous ID TextArea existant) avec itération considérée.

$('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();
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top