javascript - jquery 仅显示下一个具有相同类的 div

标签 javascript html jquery jquery-selectors jquery-traversing

我正在尝试使用 jquery 执行一系列步骤,但未能达到我想要的结果。

我有 3 个步骤,其中有一个 .wiki-step- 类加上一个数字。 我的 JavaScript 是这个:

function stepping() {
    var stepButton = $("a.button");
    var step = $("[class*='wiki-step-']");
    stepButton.closest(step).hide().next(step).show();
}

$("a.button").on("click",function(){
    stepping();
});

它只需要 2 个步骤就可以正常工作,但我注意到,如果我添加第三个步骤,jquery (next) 会立即显示所有其他步骤,但我只想显示下一个div 排成一行,但不是全部。

这是一个 fiddle :https://jsfiddle.net/vsomcag2/1/ 您可以看到它如何同时显示第二步和第三步。

我想我不能使用nextUntil(),我想我应该使用某种计数器,但我不知道从哪里开始。我想避免指定数字,因为我希望能够在不编辑 js 的情况下添加或删除步骤。

非常感谢任何帮助。

    function stepping() {
        var stepButton = $("a.button");
        var step = $("[class*='wiki-step-']");
        stepButton.closest(step).hide().next(step).show();
    }

    $("a.button").on("click",function(){
        stepping();
    });
div[class*="wiki-step-"] {
        display: none;
       width: 500px;
       height: 500px;
       border:1px solid red;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="wiki-step-1" style="display:block">
<h1>step 1</h1>
<a href="#" class="button">next</a>
</div>

<div class="wiki-step-2">
  <h1>step 2</h1>
<a href="#" class="button">next</a>
</div>

<div class="wiki-step-3">
  <h1>step 3</h1>
</div>

最佳答案

您需要获取对clicked对象a的引用,并根据该对象show hide

function stepping(obj) {
  var stepButton = $(obj);
  var step = $("[class*='wiki-step-']");
  stepButton.closest(step).hide().next(step).show();
}

$("a.button").on("click", function () {
   stepping(this);
});

Here是jsfiddle

关于javascript - jquery 仅显示下一个具有相同类的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162005/

相关文章:

javascript - Meteor.js - 获取/获取注册 token (来自 Accounts.sendEnrollmentEmail)

javascript - 当前正在为公会袭击创建 'check-in' 命令

java - 你如何从网页(Java)中抓取文本?

javascript - 检查 bootstrap-multiselect 中的复选框是否已被选中

LI 上的 jQuery 单击功能在 IE 中不起作用

jquery - 在窗口加载时逐渐淡入元素

javascript - 正则表达式搜索 html 返回,但不是实际的 html jQuery

javascript - d3.js 中的文本换行不以图表栏为中心

html - 为什么位置: fixed not take an element out of flow?

javascript - .checked 和 .attr(checked,boolean) 之间的区别