首页 > 解决方案 > jQuery将类添加到包含具有类的元素的div

问题描述

我有一个像这样的简单布局......

<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>

我正在尝试使用 jQuery 仅针对包含其中的special类的行 ID。到目前为止我有这个

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

但它没有添加test课程,我哪里出错了?

标签: javascriptjquery

解决方案


您可以简单地使用.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>


推荐阅读