5

わかりました、私は本当に単純なものが欠けているように感じますが、ここに行きます:

このコードは、まさに私が望んでいた方法でうまく機能します。リンクをクリックすると、次の div が表示されます (1 ページに約 10 個あります)。

    $('a.addtask').click(function(){
      $(this).next('.field').slideToggle();
    return false;
    });

  <div class="field">
   Some content
  </div>

  <a href="#" class="addtask">Add a task</a>

  <div class="field" style="display:none;">
    some other content
  </div>

私がやりたいのは、HTMLを次のように変更することです(div内のリンク):

<div class="field">
   Some content
   <a href="#" class="addtask">Add a task</a>
  </div>


  <div class="field" style="display:none;">
    some other content
  </div>

^^これはもう適切に機能しません。

これを機能させるには、jquery で何を変更する必要がありますか? 私はしばらくグーグルで検索してきましたが、同様の投稿の多くのソリューションが機能していないようです。

4

3 に答える 3

9

$(".addtask").parent().next(".field")動作するはずです

于 2012-07-22T23:06:44.070 に答える
2

これを試して:$(".addtask").nextAll('.field').first()

于 2015-12-28T15:37:43.920 に答える
1

I have done complete bins for above issue.

DEMO: http://codebins.com/bin/4ldqp9y

HTML:

<div class="field">
  Some content
  <a href="#" class="addtask">
    Add a task
  </a>
</div>
<div class="field" style="display:none;">
  some other content
</div>

CSS:

.field{
  padding:7px;
  border:1px solid #4455f9;
  background:#74cca9;
}

JQuery:

$(function() {
    $('a.addtask').click(function() {
        $(this).closest('.field').next('.field').slideToggle();
        return false;
    });

});
于 2012-07-23T11:48:07.390 に答える