javascript - JQuery 切换仅单击上一个跨度显示

标签 javascript jquery html

尝试仅显示每个 .filter 之前的 .active-box 范围。我尝试过使用 .prev、.closest、.siblings 和其他一些方法,但似乎没有任何效果。根据我使用的内容,它要么切换全部,要么不切换,似乎无法挑出 .active-box。我了解一些基本的 JQuery,但我对此感到困惑并且没有想法。我做错了什么?

我还尝试了 <li> 内的跨度的每种方法。标签。

.empty-box 显示一个空框,.active-box 在单击时用较小的方 block 填充空框。

HTML:

                <div class="filter-dropdown">
                    <ul>
                        <span class="empty-box"><span class="active-box"></span></span><li class="filter" class="active" data-filter="all" data-dimension="season">All</li>
                        <span class="empty-box"><span class="active-box" style="display: none;"></span></span><li class="filter" data-filter="winter" data-dimension="season">Winter</li>
                        <span class="empty-box"><span class="active-box" style="display: none;"></span></span><li class="filter" data-filter="fall" data-dimension="season">Fall</li>
                        <span class="empty-box"><span class="active-box" style="display: none;"></span></span><li class="filter" data-filter="summer" data-dimension="season">Summer</li>
                        <span class="empty-box"><span class="active-box" style="display: none;"></span></span><li class="filter" data-filter="spring" data-dimension="season">Spring</li>
                    </ul>
                </div>

JQuery:

    $('.filter').click(function() {
        $('span').closest('.active-box').toggle();});

最佳答案

您需要:

$('.filter').click(function() {
    $(this).prev('.empty-box').find('.active-box').toggle();
});

关于javascript - JQuery 切换仅单击上一个跨度显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21785730/

相关文章:

javascript - 重新创建 jquery ui 自动完成抛出错误

javascript - 如何在 JavaScript 中使用对象?

javascript - 遍历数组并检查 jQuery 中 <td> 单元格的值

php - 用链接替换按钮

html - 菜单周围的蓝色方 block

javascript - 将所有 URL 重定向到 Parse.com 上的 index.html

javascript - 有没有办法找出用户拥有的最高角色?

javascript - 使用作为 URL 参数传递的 jQuery 选择器 - 安全吗?

javascript - 选择复选框时显示数据

jQuery 过渡还是 CSS?