2

だから私は次のマークアップを持っています

<div class="item-w">
    <div class="item-g">
        <div class="item-name">Aircraft Docs (ARROW)</div>
        <div class="item-action">Check</div>
    </div>
    <div class="item-name">Aircraft Docs (ARROW)</div>
    <div class="item-action">Check</div>
</div>    
<div class="item-w">
    <div class="item-g">
        <div class="item-name">Weight &#38; Balance</div>
        <div class="item-action">Check</div>
    </div>
    <div class="item-name">Weight &#38; Balance</div>
    <div class="item-action">Check</div>
</div>

そして、「item-w」がクリックされたときに「item-g」を表示/非表示にしたいのですが、その特定の「item-w」div内の「item-g」に対してのみです。

私が使用しているjQueryは以下のとおりです。

<script type="text/javascript">
    $(document).ready(function() {
        $(".item-g").hide();
    });


    $(function()
      {
      $(".item-w").toggle(function()
                          { // first click shows green
                          $(".item-g").fadeIn('fast');
                          },
                          function()
                          { // next click hides green
                          $(".item-g").fadeOut('fast');
                          });
      });
</script>

私も次のことを試しましたが、役に立ちませんでした:

<script type="text/javascript">
    $(document).ready(function() {
        $(".item-g").hide();
    });


    $(function()
      {
      $(".item-w").toggle(function()
                          { // first click shows green
                          $(this).next(".item-g").fadeIn('fast');
                          },
                          function()
                          { // next click hides green
                          $(this).next(".item-g").fadeOut('fast');
                          });
      });
</script>
4

3 に答える 3

1

next選択した要素のすぐ次の兄弟を選択しますが、マークアップ.item-gでは子要素であるため、findまたはchildrenメソッドを使用できます。また、 method は非推奨であり、代わりにand methodstoggleを使用できることに注意してください。clickfadeToggle

$(".item-w").click(function() { 
    $(this).find(".item-g").fadeToggle('fast');
    // $(".item-g", this).fadeToggle('fast');
});
于 2013-01-08T15:38:28.963 に答える
0

これを使って:

$(function()
{
   $(".item-w").toggle(function()
   { // first click shows green
      $(this).find(".item-g").fadeIn('fast');
   },
   function()
   { // next click hides green
      $(this).find(".item-g").fadeOut('fast');
   });
});

混乱する場合は、jsfiddle を作成しました。

http://jsfiddle.net/MatthewDavis/WnB62/

于 2013-01-08T16:30:57.080 に答える
0

以下を使用します。

    $(this).children(".item-g").animation_function();

したがって、影響を受けるのは の子要素のみthisです。

于 2013-01-08T15:39:03.703 に答える