JQuery使用类获取元素上方最接近的div

JQuery使用类获取元素上方最接近的div,jquery,Jquery,我正在遍历所有h1元素,并查找具有箱体类的最近的div $('h1').each(function(index, element) { if($(this).attr("id")) { var id = $(this).attr("id"); $( '#' + id ).text( data[id] ); $( this ).closest( "box-body" ).css( "background-color", "red" );

我正在遍历所有
h1
元素,并查找具有
箱体类的最近的div

$('h1').each(function(index, element) {
    if($(this).attr("id")) {
        var id = $(this).attr("id");
        $( '#' + id ).text( data[id] );

        $( this ).closest( "box-body" ).css( "background-color", "red" );
    }
});
我尝试使用
$(this).closest(“body”)
并设置CSS,但它没有设置CSS

h1
标记以HTML格式显示,如下所示,这就是它循环的内容以及
框体的位置

<section class="col-md-3">
    <div class="box no-border">
    <div class="box-body">
        <h1 id="rmm_num_servers">-</h1>
        <h4>RMM Total Servers</h4>
    </div><!-- /.box-body -->
    </div><!-- /.box -->
</section><!-- /.col -->

<section class="col-md-3">
    <div class="box no-border">
    <div class="box-body">
        <h1 id="rmm_num_ws">-</h1>
        h4>RMM Total Workstations</h4>
    </div><!-- /.box-body -->
    </div><!-- /.box -->
</section><!-- /.col -->

-
RMM总服务器数
-
h4>RMM总工作站数

由于body是一个类,请使用
用类名标识它

$( this ).closest( ".box-body" ).css( "background-color", "red" );

由于长方体是一个类,因此使用
来用类名标识它

$( this ).closest( ".box-body" ).css( "background-color", "red" );

从文件中:

:对于集合中的每个元素,通过测试元素本身并在DOM树中向上遍历其祖先,获取与选择器匹配的第一个元素

在你的情况下,你还需要搜索所有的和他们的。 我认为这更适合你:


$(this).parents().sides(“div.box-body”).css(“背景色”、“红色”)

来自文档:

:对于集合中的每个元素,通过测试元素本身并在DOM树中向上遍历其祖先,获取与选择器匹配的第一个元素

在你的情况下,你还需要搜索所有的和他们的。 我认为这更适合你:


$(this).parents().sides(“div.box-body”).css(“背景色”、“红色”)

什么是箱体???。如果id使用
并且对于类使用
@Shree请查看我的更新
箱体
是类,那么使用
例如:
最近的(.box body”)
箱体是什么???。如果id使用
并且对于类使用
@Shree请参见我的更新
框体
是类,那么使用
例如:
最近的(.box body”)
为什么会被否决?它将获得与选择器匹配的最近的父元素。您还可以使用
.parent()
并检查它是否与
.box body
匹配。通常有不止一种方式。为什么会被否决?它将获得与选择器匹配的最近的父元素。您还可以使用
.parent()
并检查它是否与
.box body
匹配。通常有不止一种方式。