radioボタンをチェックされた際に、親要素のtrの背景色を変えたい場合はclosest(‘tr’)を使うとよい

タイトルそのまんまですが、ぐぐっても直接いい例が見つからなかったのでメモメモ

マークアップ

マークアップ的にはすごい省略してますがこんな感じの時

~~~

~~~

JS

jQueryを使っています
~~~
$(function(){
var bgcolor = ‘#fff’;
// チェックされたら
$(“:checked”).closest(‘tr’).css(‘background’, bgcolor);
$(“input”).click(function(e) {
var t = e.target.type;
var chk = $(this).attr(‘checked’);
var name = $(this).attr(‘name’);

if (t == ‘radio’) {
if(chk == true){
$(“input[name=” + name + “]”).closest(‘tr’).css(‘background-color’,”);
$(this).closest(‘tr’).css(‘background’, bgcolor);
}
return true;
}
});
});
~~~
parent().parent() とやっても出来るのかもしれないですけど、こっちのほうがシンプルでいいんじゃないかと思います

参考サイト
逆引きjQuery:ある要素から最も近い親要素を取得するには? − @IT
[jQuery] チェックしたチェックボックスの背景の色を変更する – かちびと.net

コメント

タイトルとURLをコピーしました