【问题标题】:How to select last element with specific class name? [duplicate]如何选择具有特定类名的最后一个元素? [复制]
【发布时间】:2014-02-12 18:56:48
【问题描述】:

我有一个元素列表,五个元素的类名总是“current”。其余元素不会。例如:

<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>

如何选择类名为“current”的第五个 li 元素?换句话说,我想对类名为“current”的最后一个元素应用某种样式。类名也将根据单击按钮而改变。如果用户单击下一步按钮,第一个元素将不再具有“当前”类,而第六个元素将添加“当前”类。上面的 HTML 需要如下所示:

<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current" style="margin-right: 0;"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>

用户点击下一个按钮后,html 将如下所示:

<li class="item"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current"></li>
<li class="item current" style="margin-right: 0;"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>

【问题讨论】:

    标签: javascript jquery css


    【解决方案1】:

    使用:last 选择器:

    $('li.current:last').css('color', '#f00');
    

    或者使用slice:

    $('li.current').slice(-1).css('color', '#f00');
    

    【讨论】:

    • 这不会在按钮单击后将 css 添加到最后一个元素。当我单击下一个按钮时,css 停留在第四个“当前”元素上。
    【解决方案2】:

    试试:last

    $('.item.current:last')
    

    last()

    $('.item.current').last()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 2023-03-04
      • 2015-02-07
      • 2016-06-01
      • 2011-09-18
      • 2011-11-10
      相关资源
      最近更新 更多