jQuery将类添加到存在多次的最近元素

jQuery将类添加到存在多次的最近元素,jquery,Jquery,我有一个这样的结构: <span class="side"> <ul> <li><a href="#"><i class="fas fa-print"></i></a></li> <li><a href="#"><i class="fas fa-print"></i></a></li>

我有一个这样的结构:

<span class="side">
    <ul>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><span class="copy-short-url"><i class="fas fa-link"></i></span></li>
        <span class="confirm">Copied!</span>
    </ul>
</span>

...

<span class="side">
    <ul>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><span class="copy-short-url"><i class="fas fa-link"></i></span></li>
        <span class="confirm">Copied!</span>
    </ul>
</span>

...

<span class="side">
    <ul>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><span class="copy-short-url"><i class="fas fa-link"></i></span></li>
        <span class="confirm">Copied!</span>
    </ul>
</span>

...

<span class="side">
    <ul>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><a href="#"><i class="fas fa-print"></i></a></li>
        <li><span class="copy-short-url"><i class="fas fa-link"></i></span></li>
        <span class="confirm">Copied!</span>
    </ul>
</span>
现在,我想向span confirm添加一个类。但仅适用于属于相应代码块的范围。因此,当我单击第二个span copy short url时,只有第二个span confirm必须获得额外的类


我该怎么做?谢谢

前提是您位于的单击事件处理程序中。复制短url

在dom树中,通过父对象向上移动,直到找到匹配项为止。 查找通过查找所有匹配项的子项进行查找

编辑:关于评论中的超时问题

var $confirm = $(this).closest('.side').find('.confirm');
$confirm.addClass('whatever');
setTimeout(function(){ $confirm.removeClass('whatever'); }, 2000);

太好了,谢谢!我现在需要在2秒后自动删除添加的类。我认为它可以使用类似于:$'.copy short url'.onclick,函数{$this.closest'.side'.find'.confirm'.addClassshow;setTimeoutfunction{$this.closest.side'.find'.confirm'.removeclasssShow;},2000;};但它不会消失。它永远存在。
var $confirm = $(this).closest('.side').find('.confirm');
$confirm.addClass('whatever');
setTimeout(function(){ $confirm.removeClass('whatever'); }, 2000);