0

これが前のスレッドで回答されていた場合は申し訳ありませんが、見つけられませんでした。

セクション 1、セクション 2、セクション 3、セクション 4 の 4 つのセクションがあります。

セクションごとにクラスがあるので、セクションごとに隠したり見せたりしています。問題は、一部のクラスをセクション 1 とセクション 2 に表示する必要があることです。

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

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

この例でわかるように、私は 2 つのセクションに div を持っていますが、クラス section2 を非表示にするために、それが非表示のままになると思っていました。

回避策または解決策??

ありがとう

4

3 に答える 3

1

section1常に よりも優先される場合section2は、呼び出しの順序を変更するだけです。

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

それほど単純でない場合は、要件について詳しく説明する必要があります。

于 2010-05-24T19:09:44.970 に答える
0

CSS スキーマを再考するか、JavaScript イベントの順序を変更することをお勧めします。CSS イベントとスクリプト イベントの両方への自然なカスケードがあり、スキーマで検討する必要があります。この自然なカスケードと戦うほど、CSS と JavaScript は混乱します。

于 2010-05-24T19:12:31.157 に答える
0

一般的なセクション クラスを追加してから、「インスタンス クラス」でフィルタリングできます (例: 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;
});
于 2010-05-24T19:15:01.213 に答える