動的に切り替わる特定のstyle属性の要素のクラスを切り替えたいです。
具体的構成は以下の通りです。
lang
1<input type="text" name="name1" value="" style="background-color: rgb(255, 221, 221);" class="hoge1"> 2<input type="text" name="name2" value="" style="background-color: rgb(255, 255, 255);" class="hoge1 hoge2"> 3<input type="text" name="name3" value="" style="background-color: rgb(255, 221, 221);" class="hoge1"> 4<input type="text" name="name4" value="" style="background-color: rgb(255, 255, 255);" class="hoge1 hoge2"> 5<label style="background-color: rgb(255, 221, 221);" class="hoge1"><input name="check1" type="checkbox" >texttexttext</label> 6<label style="background-color: rgb(255, 255, 255);" class="hoge1 hoge2"><input name="check2" type="checkbox">texttexttext</label>
一部必須入力要素において、未入力時style属性に「background-color: rgb(255, 221, 221);」が付与されているのですが、
入力、チェック済みの場合動的に「background-color: rgb(255, 255, 255);」へ切り替わります。
その切り替えを利用し、「background-color: rgb(255, 221, 221);」時には「hoge1」のクラスを、「background-color: rgb(255, 255, 255);」時には「hoge2」のクラスを付与したいです。
デフォルトでの指定は以下の記述で上手く動作したのですが、
lang
1$(function () { 2$("*").each(function(){ 3if($(this).css("background-color") == "rgb(255, 221, 221)"){ 4$(this).addClass("hoge1"); 5} 6if($(this).css("background-color") == "rgb(255, 255, 255)"){ 7$(this).addClass("hoge1,hoge2"); 8} 9}); 10});
動的な切り替え方法が分かりませんでした。
ご教授の程よろしくお願いいたします。
可能であればJqueryでの記述が有り難いです。
※ちなみに、一部自動入力部分があります。
例:name="name1"に氏(漢字)が入力された場合、name="name3"には氏(カタカナ)が自動入力される等。
その際当然name3も自動で「background-color: rgb(255, 255, 255);」に切り替わります。
質問内容に関係ないかもしれませんが念のため共有いたします。
=追記=
今回既存ページの改修のためinlineのstyle属性を外部cssなどに変更したり、html構成を変えるなどの前提条件の変更はできないので上記構成で実現可能な方法でご教授頂ければ有り難いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/18 07:39
2017/03/18 09:35
2017/03/19 11:03