以前にjQueryでreplace()を使って特定の文字列を置換する方法 で紹介させていただいた記事の追記です。
今回は、同じ要素内で複数のテキストを変換したい場合の処理に加え、指定のテキストにタグやクラスを付与して、CSSで(強引に)デザイン変更させる方法も合わせて紹介させていただきます。
replace() で同じ要素内で複数組のテキストを置換
同じ要素内で複数のテキストを変換したい場合のサンプルです。<script src="./jquery.min.js"></script> <script> $(document).ready(function(){ $('.replace').each(function(){ var txt = $(this).html(); $(this).html(txt .replace(/A/g,'B') .replace(/C/g,'D') .replace(/E/g,'F') ); }); }); </script>出力結果ですが、元のテキストはこちら。
ABCDEF
↓.replace 要素内のテキストAをBに、CをDに、EをF にそれぞれ置換します。
BBDDFF
replace() でテキストの装飾も可能に
少し強引ですが、特定のテキストの色を変えたり、背景色を変えたりするなどのデザイン変更も可能になります。<script src="./jquery.min.js"></script> <script> $(document).ready(function(){ $('.replace').each(function(){ var txt = $(this).html(); $(this).html(txt .replace(/A/g,'<span =classA>A</span>') .replace(/B/g,'<span =classB>B</span>') ); }); }); </script>
.replace 要素内のテキストA にはclassA、テキストBにはclassB のクラスを与え、それぞれ文字色を変えるためのスタイルを指定しておきます。
.replace .classA { color:#ff0000;//赤色 } .replace .classB { color:#006699;//青色 }
出力結果ですが、元のテキストはこちらです。
AB
↓.replace 要素内のテキストA、B のそれぞれの色が変わります。
AB
コメント