Javascript 检查是否<;李>;是ul中具有特定类别的最后一个

Javascript 检查是否<;李>;是ul中具有特定类别的最后一个,javascript,jquery,jquery-selectors,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

我有一张这样的清单

<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')
的内容,以查看某个列表是否是列表中的最后一个,在这里我需要忽略
。示例
one,因此无法在此处真正使用
:last child
,但由于某些原因,我没有得到期望的结果。如何检查列表是否是具有类
.tool
的列表中的最后一个?

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

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

您可以对其进行过滤,例如:

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

 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>
  • 不是最后一个
  • 不是最后一个
  • 不是最后一个
  • 最后一次
  • 不是最后一个
var lastLiWithTool=$('li.tool:last'); $('li')。单击(函数(){ if($(this).is(lastLiWithTool)){ 警报(“带工具的最后一个li”); }否则{ 警报(“不是最后一个使用工具的li”); } })

演示:

但不会。示例是否仍被视为列表子项?我需要弄清楚这是否是ul中最后一个列表项,它的类别为。tool@Ilja这并没有回答您提出的问题:
如何检查列表是否是具有class.tool的列表中的最后一个?
。否则,这将更加相关:
$(“#ul1 li:last child”).is(“.tool”)
@A.Wolff我现在可以确定last.tool list元素是否是最后一个孩子,如果不是,我知道末尾有一个。示例。@Ilja似乎我不理解这个问题,因为我猜你想忽略其他类元素。但是,是的sense@A.Wolff很抱歉搞混了,我只是想知道特定的.tool是否是最后一个。现在,通过知道它是否是最后一个。tool是否是最后一个孩子,我可以假设是否有。在它之后的示例,因此做进一步的工作
:last
伪选择器在文档上下文中工作,这不会包含多个UL元素。现在它取决于预期的行为选项:
var lastLiWithTool=$('li.tool').last()
<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>