JSFiddle - React, Tailwind, and code Playground

by jestho

HTML

<div class="parent">
    <a href=""data-toggleClosest=".parent" data-toggleClass="active">Toggle the shit outta me!</a>
</div>

CSS

.parent {
    background: red;
}

.parent.active {
    background: green;
}

JavaScript

$('[data-toggleClosest]').on('click', function(e) {
    e.preventDefault();
    
    var $this = $(this);
    var $toggleTarget = $($this.attr('data-toggleClosest'));
    var $toggleClass = $this.attr('data-toggleClass');
    
    if ($toggleClass !== undefined) {
        $this.closest($toggleTarget).toggleClass($toggleClass);
    } else {
        $this.closest($toggleTarget).toggle();
    }
});