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>默认情况下第一个始终是最新的。当我的表达式中第一个元素是 current 时,一切正常,否则,<ul>有 2 个 current <li>。如何用 jquery 函数解决这个问题?

编辑:

我需要:

如果<li>元素有 2 个当前类,则删除其中的第一个。

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 回答