5

好的,我觉得我错过了一些非常简单的东西,但这里有:

这段代码效果很好,正是我想要的方式。您单击链接并显示下一个 div(一个页面上大约有 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

我已经为上述问题完成了完整的垃圾箱。

演示: 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;
}

查询:

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

});
于 2012-07-23T11:48:07.390 回答