如果dl中包含 .option-not-available ,我只想向父div( .main )添加一个类。
我尝试过这种方式,但是没有将类添加到父级。请在下面看看。
<div class="main">
<dl>
<dt>Coffee</dt>
<dd class="option-not-available">Black hot drink</dd>
</dl>
<div>
if ($('dd').hasClass('option-not-available')) {
$(this).parent().addClass('active');
}
我在这里想念什么?
答案 0 :(得分:4)
请注意,this
不是对dd
语句中if
元素的引用,parent()
的{{1}}是{{1} },因此逻辑并不完全正确。
最简单的方法是通过dd
类选择dl
,然后找到父dd
并在其上应用.option-not-available
:
.main
.active
$('dd.option-not-available').closest('.main').addClass('active');
答案 1 :(得分:0)
您可以将类名添加到选择器:
$(document).ready(function() {
$('dd.option-not-available').each(function(){
$(this).closest('div.main').addClass('active');
});
});
.active {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main">
<dl>
<dt>Coffee</dt>
<dd class="option-not-available">Black hot drink</dd>
</dl>
<div>