javascript - jQuery 按 dom 上的位置隐藏下一个元素

标签 javascript jquery

我正在循环访问一些结果,我想要一个隐藏按钮来隐藏一些额外的信息,例如日期!每个结果都将具有相同的类和 Id 名称,因此如果用户单击日期上方的 anchor ,它将使用 dom 顺序中的下一个日期。

@foreach ($statuses as $status)
    <h1>{{ $status->user->getNameOrUsername() }}</h1>
    <a class="hide-date" href="#"><i class="fa fa-angle-double-down"></i> Hide</a>
    <span class="date">{{ $status->created_at->diffForHumans() }}</span>
@endforeach

$(document).ready(function(){
    $(".hide-date").click(function(){
        $(".date").hide();
    });
});

案例2

    @foreach ($statuses as $status)
<div class="content">
    <div class="top-wrapper">
        <h1>{{ $status->user->getNameOrUsername() }}</h1>
        <a class="hide-date" href="#"><i class="fa fa-angle-double-down"></i> Hide</a>
    </div>
    <div class="info-wrapper">
        <span class="date">{{ $status->created_at->diffForHumans() }</span>
    </div>
</div>
    @endforeach

目前它隐藏了所有日期

最佳答案

span .date 是单击的 .hide-date 元素的下一个同级元素。您可以使用 .next() 将其与单击的元素上下文 this 一起定位:

$(".hide-date").click(function(){
    $(this).next().hide();
});

案例2的解决方案:

 $(".hide-date").click(function(){
    $(this).closest('.content').find('.date').hide();
});

关于javascript - jQuery 按 dom 上的位置隐藏下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628976/

相关文章:

javascript - 将 json 数据输入 html 表

javascript - 在 app-root 中垂直对齐我的加载程序 - Angular2+

javascript - 为什么 JavaScript 函数会因某些参数名称而失败?

javascript - 使用 JavaScript 或 JQuery 如何确定 DOM 元素何时添加到页面?

javascript - 使用 JavaScript 访问 Google Maps API

asp.net-mvc - 如何使用 jquery 或 ajax 更新 MVC 项目的 C#/asp.net 中的 razor 部分 View

javascript - 用户和谷歌的缓存得到错误的重定向

Javascript html5视频在特定时间添加/删除类

javascript - 我认为 Splice(remove) 方法的工作原理与其实际工作完全相反

javascript - 单击关闭时保持 Bootstrap 下拉菜单打开