发现类似的问题,但没有什么能满足我的需求。我在示例中保持简单,我想使用JQuery。

我有两节课。如果页面加载中显示“类别” div,我想隐藏“过滤器” 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>


提前致谢!

最佳答案

使用.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>


HTH,
查尔斯

08-28 01:21
查看更多