为了覆盖我无法改变的CSS,我需要添加类"隐藏"对于第一个带有"!important"文本"土耳其|肉类"在场。
现在,当我尝试删除"隐藏"使用.removeClass(),"隐藏"仍然存在,我认为这是因为"!important"规则。这是我的编码:
(function($) {
if ($(".nav li:nth-of-type(2)").text().trim() == "Turkey | Meats") {
$(".nav li:nth-of-type(1)").addClass("hide");
} else {
$(".nav li:nth-of-type(1)").removeClass("hide");
}
});

.hide {
display:none !important;
}

<div class="nav">
<ul class="nav-list">
<li class="nav-link">
<a href="">Fish</a>
</li>
<li class="nav-link">
<a href="">Turkey | Meats</a>
</li>
</ul>
</div>
&#13;
答案 0 :(得分:0)
添加/删除类工作正常,请查看此示例:
if ($(".nav li:nth-of-type(2)").text().trim() == "Turkey | Meats") {
$(".nav li:nth-of-type(1)").addClass("hide");
console.log("Fish class: "+$(".nav li:nth-of-type(1)").attr("class"))
} else {
$(".nav li:nth-of-type(1)").removeClass("hide");
console.log("Fish class: "+$(".nav li:nth-of-type(1)").attr("class"))
}
$("button:first").click(function(){
$(".nav li:nth-of-type(1)").removeClass("hide");
console.log("Fish class: "+$(".nav li:nth-of-type(1)").attr("class"))
});
$("button:last").click(function(){
$(".nav li:nth-of-type(1)").addClass("hide");
console.log("Fish class: "+$(".nav li:nth-of-type(1)").attr("class"))
});
.hide {
display:none !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="nav">
<ul class="nav-list">
<li class="nav-link">
<a href="">Fish</a>
</li>
<li class="nav-link">
<a href="">Turkey | Meats</a>
</li>
</ul>
<button type="button">Remove Class .hide</button>
<button type="button">Add Class .hide</button>
</div>