如何使用Javascript设置CodeMirror编辑器的值?

Dmi*_*try 29 javascript textarea codemirror

我尝试设置id4以下代码:

<div id="id1">
    <div id="id2">
        <div id="id3">
            <textarea id="id4"></textarea>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

通过使用此代码:

document.getElementById('id4').value = "...";
Run Code Online (Sandbox Code Playgroud)

还有这个:

document.getElementById('id3').getElementsByTagName('textarea')[0].value = "...";
Run Code Online (Sandbox Code Playgroud)

但没有任何作用.

更新:

textarea由CodeMirror编辑器替换.我该如何设定价值?

非常感谢您的帮助!

Ken*_*ith 52

自3.0发布以来,这样做的方式略有改变.它现在是这样的:

var textArea = document.getElementById('myScript');
var editor = CodeMirror.fromTextArea(textArea);
editor.getDoc().setValue('var msg = "Hi";');
Run Code Online (Sandbox Code Playgroud)


wnm*_*wnm 11

正如你所说,textarea 被 Codemirror 取代。但它被类为“CodeMirror”的元素所取代。您可以使用querySelector来获取元素。当前的 CodeMirror 实例(及其方法)附加到此元素。所以你可以这样做:

document.querySelector('.CodeMirror').CodeMirror.setValue('VALUE')
Run Code Online (Sandbox Code Playgroud)


Mar*_*elo 9

我喜欢这个例子.试试这个:

CodeMirror.fromTextArea(document.getElementById(id), {
        lineNumbers: true
    }).setValue("your code here");
Run Code Online (Sandbox Code Playgroud)