-1

わかりましたので、基本的にこの構造を持つコードがあります:

最初にメイン div が開かれ、foreach を使用してチェックボックスが作成されます。配列内の「モデル」ごとにチェックボックスが作成されます

<div id='coltext'>
  <input class ="ModelName1">
  <input class ="ModelName2">

これに続いて、特定の条件下で別の div が foreach ループで開かれます。

  <div class="seqWrap">
    <div class="hit""ModelName1"></div>
    <div class="hit""ModelName2"></div>
  </div>

</div>

クラス hti の div は色付けされます。チェックボックスがオン/オフの場合、div(class = hit)を切り替えられるようにしたい。したがって、チェックボックス「ModelName1」がチェックされている場合、class="ModelName1" を持つすべての div の背景が白になるか、非表示になります。

誰かがこれを手伝ってくれますか?

4

3 に答える 3

2

この純粋な CSS を達成するための答えを受け入れることを知っています。次のように書きます。

.ModelName1:checked ~ .seqWrap .ModelName1,
.ModelName2:checked ~ .seqWrap .ModelName2
{background:none;}

これをチェックしてくださいhttp://jsfiddle.net/cpXPX/1/

于 2012-06-20T10:17:40.853 に答える
1
$('input:checkbox').change(function(){
  if ($(this).is(':checked'))
    $('div.'+$(this).attr("class")).hide();
  else
    $('div.'+$(this).attr("class")).show();
})
于 2012-06-20T10:01:53.283 に答える
1

あなたの質問は少しわかりにくいと思いましたが、おそらく次のようなことを意味しています。

$('input[type="checkbox"]').click(function() {
   $('div.' + $(this).attr('class')).toggleClass('hit'); 
});

デモ: http://jsfiddle.net/cpXPX/

子 div の html にタイプミスがあることに注意してください。class属性の途中にスペースが必要な場所に 2 つの二重引用符があるため、次のように変更します。

<div class="hit""ModelName1"></div>

<div class="hit ModelName1"></div>

(私のデモに示されているように。)

于 2012-06-20T10:07:13.353 に答える