mvc 4 プロジェクトの .cshtml ページにカミソリ ループがあり、このカミソリ ループ内でリストの子を非表示にする必要があります。コードは最初の要素では機能しますが、残りの要素では機能しません。
.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がどうあるべきかわかりません。3 番目のような特定の子 ul を非表示にするには、次のようにします。
function makevisible() {
$('#3').show();
}
function makeinvisible() {
$('#3').hide();
}
#3 を変数にして、必要な子 ul を非表示にできるようにするにはどうすればよいですか?