如果其他类可见或显示,JQuery将隐藏该类

如果其他类可见或显示,JQuery将隐藏该类,jquery,class,show-hide,Jquery,Class,Show Hide,我发现了类似的问题,但没有找到确切的答案。在我的示例中,我保持了它的简单性,我想使用JQuery 我有两节课。如果页面加载时显示“category”div,我想隐藏“filter”div。当前没有与这两个类关联的样式。我相信我已经很接近了,但这不起作用 <script language="text/javascript"> if(!$(this).hasClass("category")){ $('filter').css('display', 'none'); } </scr

我发现了类似的问题,但没有找到确切的答案。在我的示例中,我保持了它的简单性,我想使用JQuery

我有两节课。如果页面加载时显示“category”div,我想隐藏“filter”div。当前没有与这两个类关联的样式。我相信我已经很接近了,但这不起作用

<script language="text/javascript">
if(!$(this).hasClass("category")){
$('filter').css('display', 'none');
}
</script>

<div class="category">By Category</div>
<div class="filter">By Custom Filter</div>

if(!$(this).hasClass(“类别”)){
$('filter').css('display','none');
}
按类别
按自定义筛选器

提前谢谢

将选择器更改为
$('.filter')

jQuery

$('div').each(function() {
    if ($(this).hasClass("category")) {
        $('.filter').css('display', 'none');
    }
});
或只是:

if ($('.category').length) {
    $('.filter').css('display', 'none');
}

使用
.length
测试是否存在元素

使用
.hide()
.show()
显示和隐藏元素

最后,您希望代码仅在页面完成加载后运行,因此您希望将其全部打包到
$(document).ready()

所以像这样的事情应该最有效:

<script language="text/javascript">
    $(document).ready(function() {
        //following code will hide all elements with a class of 'filter'
        //if any elements with a class of 'category' are found
        if($('.category').length){
            $('.filter').hide();
        }
    });
</script>

<div class="category">By Category</div>
<div class="filter">By Custom Filter</div>

$(文档).ready(函数(){
//下面的代码将隐藏具有“filter”类的所有元素
//如果找到任何具有“类别”类别的元素
如果($('.category').length){
$('.filter').hide();
}
});
按类别
按自定义筛选器
HTHs,

查尔斯:那是你的密码吗<代码>此不会引用
.catogory
,除非该代码位于某种处理程序中。非常感谢各位,不幸的是,我仍然无法使其正常运行。当我加载页面时,我应该看不到“按自定义过滤器”文本。我仍然可以看到。我一定是遗漏了什么。只是想确定一下,您是否将jQuery添加到了您的站点?代码看起来像:
。是的,我在标题中添加了完整的url。我还将脚本放在标题中,将div放在正文中。在IE中试用过,FireFox仍然显示“按自定义过滤器”文本。你有正确的概念,这正是我想要实现的,但是我无法让它工作。也许我的JQuery链接不好:src=“”?有什么想法吗?这解决了我的问题谢谢!出于某种原因,我链接到的JQuery不起作用。
 <div class="category">By Category</div>
 <div class="filter">By Custom Filter</div>
$('.category').each(function(){
    $('.filter').hide();
});
<script language="text/javascript">
    $(document).ready(function() {
        //following code will hide all elements with a class of 'filter'
        //if any elements with a class of 'category' are found
        if($('.category').length){
            $('.filter').hide();
        }
    });
</script>

<div class="category">By Category</div>
<div class="filter">By Custom Filter</div>