代码之家  ›  专栏  ›  技术社区  ›  fightstarr20

jQuery将类添加到包含具有类的元素的div

  •  1
  • fightstarr20  · 技术社区  · 6 年前

    我有一个简单的布局。。。

    <div class="container">
        <div class="row" id="234">
            <div class="left special">
                This is left content
            </div>
            <div class="right">
                This is right content
            </div>
        </div>
        <div class="row" id="944">
            <div class="left">
                This is left content
            </div>
            <div class="right">
                This is right content
            </div>
        </div>
        <div class="row" id="332">
            <div class="left">
                This is left content
            </div>
            <div class="right special">
                This is right content
            </div>
        </div>
    </div>
    

    special 在他们里面上课。到目前为止我有这个

    jQuery( ".row:has(.special)" ).addClass( "test" );
    

    test 同学们,我哪里做错了?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Luca Kiebel    6 年前

    您只需使用 .has 方法,以将类添加到具有与该类一起的元素的所有元素中 special

    $(".row").has(".special").addClass("test");
    .test{color:red}
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="container">
        <div class="row" id="234">
            <div class="left  special"> 
                This is left content special
            </div>
            <div class="right">
                This is right content
            </div>
        </div>
        <div class="row" id="944">
            <div class="left">
                This is left content
            </div>
            <div class="right">
                This is right content
            </div>
        </div>
        <div class="row" id="332">
            <div class="left">
                This is left content
            </div>
            <div class="right special">
                This is right content special
            </div>
        </div>
    </div>
        2
  •  2
  •   Taplar    6 年前

    你总是可以倒退。

    $('.special').closest('.row').addClass('test');