如果此div具有此类,则隐藏另一个元素

时间:2019-06-20 01:37:48

标签: javascript jquery css

如果特定的div(.variable-item-3)具有“已选择”的类,我想仅隐藏按钮

单击li时,将添加“ selected”类。

if($('.variable-item-3').hasClass('selected')) {
    $('.button').hide();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
    <li class="variable-item-1">Option 1</li>
    <li class="variable-item-2">Option 2</li>
    <li class="variable-item-3 selected">Option 3</li>
</ul>

<button type="submit" class="button">Add to cart</button>

2 个答案:

答案 0 :(得分:2)

更改 string str = "\"/Date(1510722000000)/\""; DateTime date = JsonConvert.DeserializeObject<DateTime>(str); string display = date.ToString("yyyy-MM-dd") 类后,需要执行测试。您只需在页面加载时运行一次,当类更改时它不会自动再次运行。

您可以将selected函数与布尔参数一起使用,以使可见性取决于测试。

.toggle()
$("li").click(function() {
  $("li").removeClass("selected");
  $(this).addClass("selected");
  $(".button").toggle(!$('.variable-item-3').hasClass('selected'));
});
li.selected {
  background-color: yellow;
}

.button {
  display: none;
}

答案 1 :(得分:0)

由于您已经在使用javascript添加.selected类,因此使用其他答案中建议的javascript解决方案可能会更容易。但是,如果您喜欢使用CSS(我个人更喜欢在可能的情况下使用CSS而不是Javascript),并且如果您关心的div在您关心的按钮之前,那么您实际上可以只使用CSS。

.variable-item-3.selected ~ .button {
  display: none;
}

这假设.button.selected是兄弟姐妹。如果两者不是兄弟姐妹,情况会变得更加复杂,但是只要.button的祖先是.selected的兄弟姐妹,这仍然可能。在这种情况下,它将看起来像这样:

.variable-item-3.selected ~ div .button {
  display: none;
}

如果未对HTML进行结构化,以至于其中任何一种都可以使用,那么您将需要使用其他可与javascript配合使用的解决方案。