我知道可以通过Id将codemirror应用于多个textarea,但不幸的是我需要使用class,因为我使用的textarea已经有来自其他脚本的id。
到目前为止,这是我的代码。
HTML
<textarea class="textarea-class"></textarea>
<textarea class="textarea-class"></textarea>
JS
$('.textarea-class').each(function(index, elem){
CodeMirror.fromTextArea(elem, {
lineWrapping: true,
mode: "javascript",
theme: "neat",
lineNumbers: true,
});
});
答案 0 :(得分:2)
你不能传递一个jQuery元素!它必须是一个常规元素。为了解决这个问题,我们将遍历document.querySelectorAll('.textarea-class')
中的元素数组,并将每个元素传递给CodeMirror.fromTextarea()
函数。
JS
var textareas = document.querySelectorAll(".textarea-class");
for (var i = 0; i < textareas.length; i++) {
CodeMirror.fromTextArea(textareas[i], {
lineWrapping: true,
mode: "javascript",
theme: "neat",
lineNumbers: true
});
}
使用CodeMirror库和样式表进行演示:https://codepen.io/anon/pen/OvLxaG