Вместо запуска события click вы можете повторно использовать анонимную функцию, сохранив ее в переменной, давайте назовем ее toggleActive
Мы можем применить this
к нашей функции с помощью метода вызова
$(function() {
var toggleActive = function() {
$(this).toggleClass("active");
};
$("button").click(toggleActive);
$(".item").each(function(i, e) {
var button = $(this).find("button");
ranNum = Math.floor(Math.random() * (6 - 2 + 1)) + 2;
if ((i + 1) % ranNum == 0) {
toggleActive.call(button);
}
});
});
.active {
background: green
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
<button>Button 1</button>
</div>
<div class="item">
<button>Button 2</button>
</div>
<div class="item">
<button>Button 3</button>
</div>