如果元素有两个特定的类或只有一个clases,则隐藏它

时间:2014-08-27 20:13:57

标签: javascript jquery html

我希望隐藏一个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

完成此操作

5 个答案:

答案 0 :(得分:2)

多个班级选择器:

.class1.class2
{

}

多个选择器以逗号分隔:

.class1.class2,
.class1
{

}

所以,在你的情况下:

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

修改

根据需要,jquery选择器使用css选择器,所以:

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

答案 1 :(得分:1)

您不需要包含多类选择器,正常级联就足够了:

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

请参阅http://jsfiddle.net/Volker_E/3htzrhLb/

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

这似乎太简单了,但它应该按照你说的做。

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

您的要求听起来好像您希望隐藏more-options的任何内容,即使他们有其他课程。由于CSS选择器忽略了未提及的类,因此可以正常工作。

答案 4 :(得分:0)

您可以使用:

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

fiddle