我的 mvc 4 项目中的 .cshtml 页面上有一个 razor 循环,我需要在这个 razor 循环中显示隐藏列表的子项。该代码适用于第一个元素,但不适用于其余元素。
.cshtml 代码
<ol>
@foreach (var Name in (List<string>)ViewData["Names"])
{
<li onclick="makevisible();" ondblclick="makeinvisible();">
@Name
<ul id="list" class="list">
<li>childWichNeedsToBeHidden</li>
</ul>
</li>
}
</ol>
我的 javascript:
function makevisible() {$('#list').show();}
和:
function makeinvisible() {$('#list').hide();}
我的CSS:.list {display:none;}
编辑
我的新 .cshtml 代码
@{
int i = 0;
foreach (var Name in (List<string>)ViewData["Names"])
{
i++;
<li onclick="makevisible();" ondblclick="makeinvisible();">
@Name
<ul class="list" id="@i">
<li>childWichNeedsToBeHidden</li>
</ul>
</li>
}
}
所以现在每个 ul 都有一个唯一的 id。但我不知道我的 javascript 应该是什么。我可以显示隐藏一个特定的孩子 ul 就像第三个孩子一样:
function makevisible() {
$('#3').show();
}
function makeinvisible() {
$('#3').hide();
}
如何使#3 成为变量,以便我可以显示隐藏我想要的任何孩子?