繁体   English   中英

如何查找具有“活动”类的最近的锂

[英]How to find the closest li that has the class 'active'

我正在尝试生成一些jQuery,它将找到具有class属性的最接近列表项,并在其后直接插入一些html?

我有以下内容,但这需要工作..它是通过on click event()调用的

$('.controls').on('click.add', function()
{               
       $(this).parent().closest('li.active').insertAfter('<p>HTML</p>');
});

任何人都可以提供帮助-在这种情况下,我想选择第三个li(基于该类的最后一个“活动”列表项),然后在其后插入一些简单的HTML。

<ul class="controls">
  <li class="active"></li>
  <li class="active"></li>
  <li class="active"></li>
  <li class="inactive"></li>
  <li class="inactive"></li>
</ul>
<a href="#" class="add"> Add Prize</a>

“最简单的解决方案是使用pop,它访问数组中的最后一个元素。

var lastClass = $('div').attr('class').split(' ').pop();

请注意,pop还会从数组中删除该元素,但是由于您没有对它做任何其他事情,所以这不是问题。”

jQuery中盗取-查找元素的最后一个类

尝试这样做:

$('.add').on('click', function()
{
     $(this).prev().find('li.active:last').after('<p>HTML</p>');

});

尝试这个:

var $controls = $('.controls');
$('.add').on('click', function() {               
    $controls.find('li.active:last').after('<li>HTML</li>');
});

还要注意,你可能希望.after而非.insertAfter 另外,如注释中所指出的,您不应将p作为ul的子代插入,因此我将其更改为li

$(".controls li.active").last().after('<p>HTML</p>');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM