1

そのうちの1つが持っている<li>要素がありますclass="current"。どちらが現在のものかを判断したい<li>。ここにビューがあります:

@{
     int k = 10;  //this will change in every request
}

<ul class="car">
     @foreach (var item in modelCount)
     {
       <li 
           @{if (item.Id == k) { <text>class="current"</text>} }>
           <a href="#">@item.Name </a>
       </li>
     }
</ul>

これは機能しますが、デフォルトでは最初の<li>ものが常に最新です。私の式で最初の要素が最新の場合、すべて問題ありませんが、それ以外の場合<ul>は2つの currentがあり<li>ます。jquery関数でこの問題を解決するにはどうすればよいですか?

編集:

私は欲しい:

要素に 2 つの現在のクラスがある場合<li>、最初のクラスを削除します。

4

1 に答える 1

1
function removeDuplicateCurrentClass(){

    var currentListElements = [];

    $('ul.car li').each(function(){

         if($(this).hasClass('current'))
             currentListElements.push(this);
    });

    if(currentListElements.length > 1)
         $(currentListElements[0]).removeClass('current');
    //if more than one current class exist: remove the first one        

}

$(function(){

    removeDuplicateCurrentClass();

    //or simply

    if($('ul.car li.current').length > 1)
        $('ul.car li.current:first').removeClass('current');

});
于 2013-01-25T11:36:14.553 に答える