-
ID:fgpIiw さんの質問

Javascript超初心者です。すみません。
閲覧ありがとうございます!

いまフォームで打たれた文字に対して、色を変えるということを
やりたいと思ってjsを弄っています。

if文を使って、打たれた文字に対して緑色に変えるということを
行いたいです。

returnColor(str) {
if(str="打たれた文字") color:"greeen";
}

というように、コードを書けば表示されるのでしょうか?
Arrayなどの配列から文字列を登録して、登録した文字列を検索して、
マッチしたものを"Green"として表示させるためには、どこをどう
弄ればいいでしょうか?

以上、よろしくお願いします。

みんなの回答 4 件

ID:n.Dnuy さんの回答

「javascript 文字 検索 色」あたりでGoogleで検索してみてください。きっと同じような事しようとしてる人が見つかります。
イマイチやりたいことの要件がわからないけど、いくつかの機能を用意しないといけないですね。
既に出来上がった、jQueryのサンプルがありましたけど、初心者の方がみたら、気が遠くなるなるかもしれせんね。
理屈がわかってしまえば、そんなに難しいくはないです。

Sample - highlight: JavaScript text higlighting jQuery plugin

http://deeeki.sitemix.jp/sample/jquery_highlight/
ID:N/V5rv さんの回答

フォームの文字色をcssで変更したらダメ?

ID:MvmJBO さんの回答

ひょっとしたら、textareaに入力された特定の文字色を変えたいの人?
もしそうだとしたら、それは仕様上不可能だし、擬似的に実装するにしても、初心者には難しすぎると思う。

ID:0QlRFv さんの回答

とりあえず日本語でおk

>if文を使って、打たれた文字に対して緑色に変えるということを
行いたいです。

緑色に変えるのは
①特定部分
②全体
のどちらかなのか

その要素は
①入力フォーム
②入力内容を別途表示する
のどちらなのか

そこの部分がはっきりしないと回答しようがないかと。

ちなみに文字のマッチングには正規表現を使います。
具体的にはif (str.match(/^.*hogehoge.*$/))というように文字列にマッチするかどうかをチェックします。

ただし特定部分だけを変更させるのならもっと簡単で、str.replace(/hogehoge/, ’<span style="color: green">hogehoge</span>’)としてしまえばマッチングさせるまでもありませんね。

また変更する要素は入力フォームの場合、特定文字だけの文字色を変更させることは原則できません。(①-①の場合)
原則ということで不可能ではありませんが、擬似的に上から別の要素をコピーしながらかぶせる必要があるので難解な作業になるからです。

最終更新日:2013-11-23 (2,903 views)

関連するトピックス

ページ上部に戻る