0

ここで達成しようとしているのはbreakoff、変更が適用されると同時に変更を適用することだけthisです。jQuery('.toggle-bg')

jQuery から のみ変更しようとしていますbreakoffthis .toggle-bg

    jQuery('.toggle-bg').on('change', function () {

    var value = jQuery('input.switch-id-value',this).val(),
    moon1 = jQuery('#' + value + '_0').is(':checked'),
    breakoff = jQuery('.line-break-off'),
    toggle = jQuery(this);

        toggle.css('background-color', (moon1 ? '#46b692' : '#333'));

        breakoff.each(function() {
            toggle.css('background-color', (moon1 ? '#46b692' : '#333'));
        });

}).trigger('change');

これが機能すると確信していることがいくつかあります...使用する必要がある例HTMLを表示して、トグルとの関係が.parent()どこにあるのかを理解してください。breakoff

HTML:

    <li class="top-header">

        <div class="box-title">
            <div class="section-icon fontawesome-twitter">
            <span class="line-decor"></span>
            <span class="line-break-off break"></span> //THE TARGET
            </div>
        </div>

// This is sloppy but this block below contains the toggle you get the idea.. 
// I dont have much experience using .parent() it kinda confuses me
// I am sure I need to nest my way out to target this.parent() .line-break-off

<div class="party">
    <div class="control-block ">
        <fieldset class="buttonset button-switch"><span class="toggle-bg" id="top-header" style="background-color: rgb(51, 51, 51);"><input type="radio" checked="checked" value="1" name="brashup[top-header]" id="top-header_0"><input type="hidden" value="top-header" class="switch-id-value"><input type="radio" value="0" name="brashup[top-header]" id="top-header_1"><input type="hidden" value="top-header" class="switch-id-value"><span class="switch ui-buttonset"><p class="switch-inner-bar"></p></span></span>
        </fieldset>&nbsp;&nbsp;
        <div class="bottom-box"><span class="description btn-desc">Here you can choose if you want a fixed header or not.</span>
        </div>
    </div>
</div>
</li>

簡単に言えば、これは複数のトグルのリストであり、特定のトグルが変更されている間.line-break-off、クラスを追加してその親を操作するか、そこから取得できるものは何でもcssします:)

4

1 に答える 1

1

以下で試してみてください。breakoff次のようになります。

breakoff = jQuery(this).parents(".top-header").find('.line-break-off')

その後:

breakoff.each(function() {
    jQuery(this).css('background-color', (moon1 ? '#46b692' : '#333'));
});
于 2013-09-07T22:23:44.123 に答える