0

私はテキストエディタを構築しています.今、特定の単語のユーザータイプの色を変更したいと思い<html>ます<body>.

CSS:

.html{
    color: rgba(0, 91, 255, 0.52);
}
.body{
    color: rgba(255, 1, 1, 0.59);
}

Javascript

function colorCode() {
    if (document.getElementById('textarea').value == '<html>') {
        document.getElementById('textarea').value == '<html>';
        document.getElementById('textarea').className = 'html';
    }
    if (document.getElementById('textarea').value == '<body>') {
        document.getElementById('textarea').value == '<body>';
        document.getElementById('textarea').className = 'body';
    }
}

HTML:

<textarea class="lined" name="textarea" rows="10" cols="60" id="textarea" onkeyup="outPost(id); colorCode();"></textarea>

今私の問題は、一度に複数の値を作成できないことです。なぜなら、テキストエリアフォーム内で書い<html>てから色が変わるのは一度だけだからです。<body>最初の値を入力したときにコンピューターが値を読み取るためだと思いますが ( <html>) 動作しますが、2 番目の値を入力しているときにコンピューターが ( ) として読み取り<html><body>ます。それを修正する別の方法はありますか?

どうもありがとうございました!

4

2 に答える 2

0

textareas コンテンツ全体の値を比較するのではなく、比較のために contains メソッドを使用する必要があると思います。

このような:

document.getElementById('textarea').contains('<html>')

また、次のように終了タグも探す必要があります。

document.getElementById('textarea').contains('</html>')
于 2013-04-16T18:32:09.513 に答える