如何使用 jquery 设置顶部父元素的样式

Car*_*los 2 jquery

我想要样式顶级父级,它应该是动态的。我只想要风格顶级的父母。我们可以添加更多的父 div,但样式应该反映到 div。jquery可以做到吗?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">

$(function(){
    $('.text').parent().css('background-color','red')
})

</script>
</head>
<body>

<div>
    <div>
        <div class="menu">
            <div class="text">hiiii</div>
        </div>
    </div>
</div>

</body>
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 5

根据“顶级父级”的含义,您可能需要parents带有选择器的函数"div"

$(function(){
    $('.text').parents("div").last().css('background-color','red');
});
Run Code Online (Sandbox Code Playgroud)

请注意,如果$('.text')只匹配一个元素,这只会按预期工作。如果它匹配多个,则需要一个循环,例如:

$(function(){
    $('.text').each(function() {
        $(this).parents("div").last().css('background-color','red');
    });
});
Run Code Online (Sandbox Code Playgroud)

...将每个匹配项的“顶级父级”设置.text为红色。