我有一个ul列表,其中一个li元素表示大拇指,其他li元素表示大拇指,当我单击每个大拇指时,我会根据大拇指的类型添加绿色或红色类别,但是只有一个可以处于活动状态或带有颜色,如果选择了其中的一个,则需要删除其他具有颜色(绿色或红色)的类
问题是我无法获取要检查是否具有类的元素。
我的代码:
$('.approved').click(function (event) {
event.preventDefault();
$(this).toggleClass('bg-green');
});
$('.not-approved').click(function (event) {
event.preventDefault();
console.log($(this).parent().find('.approved').hasClass('bg-green'));
$(this).toggleClass('bg-red');
});
html:
<div class="options-tools pull-right">
<ul class="list-unstyled list-inline">
<li><a href="#"><i class="fa fa-thumbs-up approved" aria-hidden="true"></i></a></li>
<li><a href=""><i class="fa fa-thumbs-down not-approved" aria-hidden="true"></i></a></li>
</ul>
</div>
基本上,当我单击大拇指朝下(。未批准)时,我会添加颜色类别“ bg-red”,但是在我需要检查“竖起大拇指”是否处于活动状态(bg-绿色)之前。
我做错了什么?
答案 0 :(得分:1)
您是否尝试过$('.approved').hasClass('bg-green')
。 hasClass可以帮助您确定元素是否具有特定的类。这是一个布尔值,因此如果具有该类,它将返回true,否则返回false。您无需先获取父项,然后再查找该类。如果没有标识符,则只需选择类别。