繁体   English   中英

如果元素具有两个特定类或仅一个分类,则隐藏该元素

[英]Hide an element if it has two particular classes or only one of the clases

我正在寻找一个HTML元素(如果它同时具有两个类或仅包含.more-options类),但是如果它仅具有.show-required类,则不执行任何操作。

这就是我所拥有的

HTML:

<tr class="show-required">
    <td>...</td>
</tr>
<tr class="show-required more-options">
    <td>...</td>
</tr>
<tr class="more-options">
    <td>...</td>
</tr>

我希望它仅隐藏/显示第二个和第三个<tr>而让另一个单独存在。 同样要澄清的是,它确实需要同时包含两个类或仅.more-options用于以后的代码。

任何帮助,将不胜感激。

编辑:

我需要用javascript / Jquery完成

多类选择器:

.class1.class2
{

}

多个选择器用逗号分隔:

.class1.class2,
.class1
{

}

因此,在您的情况下:

.more-options, 
.show-required.more-options
{
    //style
}

编辑

根据需要,jquery选择器使用css选择器,因此:

$(".more-options, .show-required.more-options").show(); // or hide

您不需要包含多类选择器,普通的级联就足够了:

.more-options {
    display: none;
}
.show-required {
    display: table-row;
}

参见http://jsfiddle.net/Volker_E/3htzrhLb/

.more-options, 
.show-required.more-options {
  display: none;
}

http://jsfiddle.net/Lh0b1ten/1/

这似乎太简单了,但是应该按照您说的去做。

$('.more-options').hide();

您的要求听起来像您想要隐藏具有more-options任何内容,即使它们上有另一个类。 由于CSS选择器会忽略未提及的类,因此可以正常工作。

您可以使用此:

$("tr").each(
    function(){
             if($(this).hasClass("more-options")){
                $(this).hide();
             }
});

小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM