如何影响foreach项目样式(悬停)单独的每个项目

时间:2019-02-22 12:58:40

标签: jquery css razor asp.net-core

我使用foreach语句访问IEnumerable的所有项目并将其显示在详细信息页面中。我想使每个项目的悬停属性仅影响一个项目。所以我用jQuery单独影响每个项目

但是,当我运行代码并将鼠标悬停在一个项目上时,所有项目都会同时受到hovering属性的影响。

如何单独影响每个项目?

这是我的标记助手:

@foreach (var item in Model.TimeLines)
{
    <section id="timeline">
        <article>
            <div class="inner">
                <span class="date">
                    <span class="day">@item.EventDate</span>
                </span>
                <h2>@item.Title</h2>
                <h5>@Html.Raw(item.Body)</h5>
                <div class="form-group row col-lg-12">
                    @if (User.IsInRole("Admins") || Model.TimeLineCategory.ApplicationUserId == currentUser.Id)
                    {
                        @*<div class="button_cont row col-lg-6" align="center"><a asp-action="Edit" asp-controller="TimeLines" asp-route-id="@item.Id" class="example_c" noopener">Edit</a></div>*@
                        <div class="button_cont row col-lg-6" align="center"><a asp-controller="TimeLines" asp-action="Delete" asp-route-id="@item.Id" style="cursor:pointer;" class="example_c" id="del">حذف</a></div>
                        <div class="button_cont row col-lg-6" align="center"><a asp-controller="TimeLines" asp-action="Edit" asp-route-id="@item.Id" style="cursor:pointer;" class="example_c">تعديل</a></div>
                    }
                </div>
            </div>
        </article>
    </section>
}

和我的jQuery代码:

<script>
    $('section article').each(function (i, element) {
        $("div.inner .form-group").on({
            mouseenter: function () {
                $('.example_c').show();
            },
            mouseleave: function () {
                $('.example_c').hide();
            }
        });
    });    
</script>

1 个答案:

答案 0 :(得分:2)

您可以搜索要悬停的元素的特定子元素,这样就可以只显示所需的元素... $(this)元素是指您悬停的元素。

examples=[{"ex1":"example1"},{"ex2":"example2"}]