隐藏不是某个类的元素

时间:2015-01-03 13:23:48

标签: javascript jquery html

我想通过jQuery not() 隐藏一个不属于某个类的元素:

 <a href="#" id="c_1" class="content-btn">Content 1</a>
 <a href="#" id="c_2" class="content-btn">Content 2</a>

 <div class="post-item c_1"></div>
 <div class="post-item c_2"></div> 

var thisContent;
jQuery('.content-btn').click(function() {
    thisContent = this.id;
    jQuery('.post_item').not('.'+thisContent).fadeOut();
}

我在此上下文中使用.not()方法错误,因为它似乎不起作用!

3 个答案:

答案 0 :(得分:3)

您的选择器需要

jQuery('.post-item')

你需要在jQuery的末尾关闭),如下所示:

var thisContent;
jQuery('.content-btn').click(function() {
    thisContent = this.id;
    jQuery('.post-item').not('.'+thisContent).fadeOut();
});

有关工作示例,请参阅http://codepen.io/anon/pen/EaNXjg

答案 1 :(得分:0)

尝试使用

$(element).hasClass(".clasname").fadeOut();

答案 2 :(得分:0)

作为@AND最后注意到修改你的选择器..当你使用点击Anchor时你需要使用 e.preventDefault; 试试这个

jQuery('.content-btn').click(function(e) {
    e.preventDefault;
    thisContent = this.id;
    jQuery('.post-item').not('.'+thisContent).fadeOut();
    $('.'+thisContent).fadeIn();
});

DEMO