如果jQuery中有类,则不要隐藏

如果jQuery中有类,则不要隐藏,jquery,Jquery,好吧,开始说这很难用语言来解释 因此,我在这里设置了一个示例: 我有一个PHP代码,它用X.sletindtastingfelt显示span元素(如果已填充) 在JSFIDLE中,它位于js字段的底部 jQuery(document).ready(function() { $('#smeal-1-1').show(); $('#smeal-1-1').addClass("upstartRemoveClass"); $('#smeal-1-2').show();

好吧,开始说这很难用语言来解释

因此,我在这里设置了一个示例:

我有一个PHP代码,它用X
.sletindtastingfelt
显示span元素(如果已填充)

在JSFIDLE中,它位于js字段的底部

jQuery(document).ready(function() {
    $('#smeal-1-1').show();
    $('#smeal-1-1').addClass("upstartRemoveClass");

    $('#smeal-1-2').show();
    $('#smeal-1-2').addClass("upstartRemoveClass");
}); 
好的,它现在显示在前两个输入字段前面的X

它现在所做的是,当您单击4个输入字段中的一个时,它会隐藏另一个X并将其保留在该字段前面。这是由
.end().sibbines().find('.sletindTestningfelt').hide()引起的


如果此过程具有类“upstartRemoveClass”,我希望更改此过程。因此,如果它有类
upstartRemoveClass
,当您单击
tr
(输入字段)

时,它不应该像其他类一样隐藏,这只需要一个条件:

if($("someElement").hasClass("upstartRemoveClass"))
{
   // do something
}

这只需要一个条件:

if($("someElement").hasClass("upstartRemoveClass"))
{
   // do something
}
也许你可以使用:

也许你可以使用:


使用
而不是
怎么样

像这样:

.end().siblings().find('.sletindtastningfelt').not(".upstartRemoveClass").hide();

这会给你你想要的结果吗?

使用
而不是
怎么样

像这样:

.end().siblings().find('.sletindtastningfelt').not(".upstartRemoveClass").hide();

这是否为您提供了所需的结果?

以上使用
的答案。not()
:not()
是有效的,但您也可以稍微更改逻辑,并在隐藏其余部分后显示任何
。upstartRemoveClass

$(this).closest('tr')
       .find('.sletindtastningfelt')
       .show()
       .end()
       .siblings()
       .find('.sletindtastningfelt')
       .hide();

$('.upstartRemoveClass').show();

在这种情况下,它可能不是最好的选择,但有时可能会很有用,例如消除复杂性。

以上使用
的答案。not()
:not()
是有效的,但您也可以稍微更改逻辑,并在隐藏其余部分后显示任何
。upstartRemoveClass

$(this).closest('tr')
       .find('.sletindtastningfelt')
       .show()
       .end()
       .siblings()
       .find('.sletindtastningfelt')
       .hide();

$('.upstartRemoveClass').show();

在这种情况下,它可能不是最好的选择,但有时会很有用,例如消除复杂性。

是的!谢谢,我刚刚在另一个窗口中找到了jquery not(),然后看到了它并进行了测试。工作主要!对谢谢,我刚刚在另一个窗口中找到了jquery not(),然后看到了它并进行了测试。工作主要!hasClass的问题在于它只查看一个元素。hasClass的问题在于它只查看一个元素。