2

同じ名前の「tselect」の下に、本質的にラジオボタンの6 x 8グリッドがあります。ページが読み込まれると、すべてのページにこのようなコマンドを実行させたい

$(this).closest('div').addClass('highlight', 300);

基本的に、新しい div クラスを一番上に追加して、最も近い div の背景色を変更します。それらすべてを通過するために for ループを実行しようとしましたが、jquery コマンドが実行されませんでした。何か案は?

編集: コードの追加...

<div id="sch_cal">
                <div id="sch_cal_column">
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">8:00am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">8:20am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">8:40am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">9:00am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">9:20am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">9:40am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">10:00am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                    <div id="sch_cal_row">
                        <div id="sch_cal_time"><p class="ctime">10:20am</p></div>
                        <div style="height: 100%"><input class="ctime" type="radio" name="tselect"/></div>
                    </div>
                </div>
4

2 に答える 2

2

最も近い div を強調表示する必要がある場合は、おそらく次のようなものが必要です。

$(this).closest('div').effect("highlight", {}, 300);

背景色を変更したい場合は、次の方法を試してください。

$(this).closest('div').css( "background-color" , "red" )  

また

$(this).closest('div').addClass('highlight');

addClassは 2 番目の引数を整数として取りません。

于 2012-07-02T23:39:59.740 に答える
1

そのはず

$('input[type="radio"].ctime').closest('div').addClass('highlight');

デモ。

同じ ID を持つ複数の要素がsch_cal_rowありsch_cal_time、これは無効です。ID は一意である必要があります。

于 2012-07-02T23:35:23.657 に答える