【问题标题】:Using Javascript to show and hide a message使用 Javascript 显示和隐藏消息
【发布时间】:2016-02-03 10:53:23
【问题描述】:

我已经设置了一个小脚本来显示和隐藏一个 div..

$('.message-head').click(function () {
    $('.message-preview').toggle('slow');
});

按应有的方式完美运行。我的问题是我在页面上有多个 html 标记实例,这些实例位于 foreach 循环内..

<div class="two-three-col message-head">
    <h4>@message.Subject</h4>
    <div class="message-preview">
        @Html.Raw(@message.Body)
    </div>
</div>

这基本上是针对一个消息系统,它已经被砍掉和改变了很多,并留给我去修复;不是最擅长 javascript 我很困惑。那么如何修改 js,以便如果我点击说消息 1,那么只有消息 1 会在点击时显示/隐藏,其余的将保持非活动状态。

提前致谢

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    您可以使用this 关键字来引用引发事件的元素。从那里您可以遍历 DOM 以找到相关的 .message-preview 元素。试试这个:

    $('.message-head').click(function () {
        $(this).find('.message-preview').toggle('slow');
    });
    

    【讨论】:

    • 值得一提,如果 .message-head 元素将被即时创建,最好使用 document 绑定事件。
    • 像魅力一样工作@Rory 谢谢。干得好,我很快就会开设一门 Javascript 课程,因为看起来我会更多地使用新系统
    • @Damien 没问题,很高兴为您提供帮助
    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    相关资源
    最近更新 更多