检查<li>是否是具有特定类的ul的最后一个

时间:2015-07-03 14:01:01

标签: javascript jquery jquery-selectors

我有一个像

这样的清单
<ul>
  <li class="tool"></li>
  <li class="tool"></li>
  <li class="tool"></li>
  <li class="tool"></li>
  <li class="example"></li>
</ul>

我正在尝试查看$('li').is('.tool:last')之类的内容,以查看某个列表是否在列表中的最后一行,我需要忽略.example,因此无法使用:last-child在这里,但由于某种原因,我没有得到理想的结果。如何检查列表是否在具有类.tool的列表中的最后一个?

4 个答案:

答案 0 :(得分:4)

您可以获取最后一个工具元素,然后检查它是否为last-child:

var istoollastchild = $('li.tool:last').is(':last-child');

<强> Working Demo

答案 1 :(得分:1)

$('li.tool').is(':last-child');

答案 2 :(得分:1)

你可以过滤它,例如:

var $lastLIsTool = $('ul li.tool').filter(function(){
    return !$(this).nextAll('li.tool').length
});

-DEMO-

答案 3 :(得分:1)

您可以使用

 if (selected_object.is(current_object)) {
   ...    
}

使用此代码它会帮助您

<ul>
  <li class="tool">Not Last</li>
  <li class="tool">Not Last</li>
  <li class="tool"> Not Last</li>
  <li class="tool">Last</li>
  <li class="example">Not Last</li>
</ul>

<script>
    var lastLiWithTool = $('li.tool:last');
    $('li').click(function(){
        if ($(this).is(lastLiWithTool)) {
          alert("last li with tool");   
        }else{
        alert("not last li with tool"); 
        }
    })
</script>

DEMO:http://jsfiddle.net/8v10rx9u/