我的手风琴看起来像这样:
@for (int i = 0; i < Model.Count; i++)
{
<h3 id= '@Model[i].UserId'>@Model[i].UserName</h3>
<div >
@Html.HiddenFor(x => Model[i].UserId, new { @id = "txtId" + i })
<table style="font-size:xx-small">
<tr>
<td>
<img id='img + @Model[i].UserId' alt="" class="image" />
</td>
这确定了与H3头的ID不同的图像元素的id。我可以像这样得到标题的ID:
$("#accordion > h3").click(function () {
var currentID = $('.ui-accordion-header-active').attr('id');
var divid = "#" + currentID;
var imgId = $(divid).find(".image").attr("id");
imgId = $('.ui-accordion-header-active .image').attr("id");
alert(imgId);
});
但我无法获得图片元素的ID。我究竟做错了什么?在手风琴中点击此人之前,我不想加载任何图片。
答案 0 :(得分:1)
您正在使用.find
获取图片的id
,其中.find
尝试获取引用的children
选择器。因此,您需要再添加一个.next
以从children
获取div
,因为.image
位于您div
旁边的header
内:
$("#accordion > h3").click(function () {
var currentID = $('.ui-accordion-header-active').attr('id');
var divid = "#" + currentID;
var imgId = $(divid).next().find(".image").attr("id"); //.next here
alert(imgId);
});
再次,即使以下行也会尝试在.image
header
imgId = $('.ui-accordion-header-active .image').attr("id");
我认为你不再需要这个了event
,所以我把它删除了..