Jquery,div有两个类隐藏一个显示另一个 - 冲突?

时间:2010-05-24 19:05:20

标签: jquery class hide show

很抱歉,如果在之前的帖子中回答了这个问题,我就找不到了。

我有4个部分:Section1,Section2,Section3,Section4

每个部分都有类,所以我根据部分隐藏和显示。问题是需要在Section1和Section2中展示一些类。

<div class="section1 section2">
blah blah
</div>

$('a.homeLink').click(function(){
  $('.section1').show();
  $('.section2, .section3, .section4').hide();
  return false;
});

正如你在这种情况下所看到的,我有两个部分的div,但正如我想的那样,由于隐藏了类第2节,它仍然是隐藏的

解决方案或解决方案??

感谢

3 个答案:

答案 0 :(得分:1)

好吧,如果section1始终优先于section2,只需更改通话顺序:

$('.section2, .section3, .section4').hide();
$('.section1').show();

如果不是那么简单,你需要告诉我们更多关于要求的内容。

答案 1 :(得分:0)

我建议您重新考虑您的CSS架构....或重新订购您的JavaScript事件。 CSS和脚本事件都有一个自然的级联,需要在架构中进行思考。你对抗这种自然级联越多,你的CSS和JavaScript就会越混乱。

答案 2 :(得分:0)

你可以添加一个通用的section类,然后过滤“instance class”(例如section1):

<div class="section section1 section2">
blah blah
</div>

<div class="section section3 section4">
blah blah
</div>

$('a.homeLink').click(function(){
  var sections = $('.section');
  $('section1', sections).show();
  sections.not('.section1').hide();
  return false;
});