我使用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>
答案 0 :(得分:2)
您可以搜索要悬停的元素的特定子元素,这样就可以只显示所需的元素... $(this)元素是指您悬停的元素。
examples=[{"ex1":"example1"},{"ex2":"example2"}]