JSFiddle - React, Tailwind, and code Playground

HTML

<div id="container"></div>

CSS

body{
    margin:0;
    padding:0;
	font-family: Arial;
	font-weight: bold;
}

.card{
    width:100px;
    height:100px;
    float:left;
    background-color:#ccc;
    margin-bottom:3px;
	margin-right:3px;
	position: relative;
	cursor: pointer;
}

.cardset{
    width:412px;
	height:412px;
}

.selected {
	width:94px;
    height:94px;
	border:3px solid black;
}

#container {
	padding: 25px;	
}

JavaScript

(function ($) {
    "use strict";
   
    //Globalfunctions
    $.fn.mouseControls = function (cardMap) {
        
        $(this).on({
            click: function () {
                
            },
            mouseenter: function () {
                $(this).parent().children('.selected').removeClass('selected');
                $(this).addClass('selected');
            }
        });
        
        
        return $(this);
    };
    
    $.fn.cardMoveHorizont = function (direction, cardMap) {
        var card_key, card_row, card, rowCount, actCardObj, i;
        
        //Get row of element
        for (card_key in cardMap) {
            if (cardMap.hasOwnProperty(card_key)) {
                card_row = cardMap[card_key];
                rowCount = 1;
                for (card in card_row) {
                    if (card_row.hasOwnProperty(card)) {
                        
                        if (cardMap[card_key][card].id === $(this).attr('id')) {
                            actCardObj = cardMap[card_key][card];
                            
                            if (direction === 'next') {
                                if (rowCount % 4 === 0) {
                                    $(this).removeClass('selected');
                                    $('#card' + (parseInt(card.replace('card', ""), 10) - 3)).addClass('selected');
                                } else {
                                    $(this).removeClass('selected');
                                    $('#card' + (parseInt(card.replace('card', ""), 10) + 1)).addClass('selected');
                                }
            
                            } else if (direction === 'prev') {
                                if (rowCount === 1) {
                                    $(this).removeClass('selected');
                                    $('#card' + (parseInt(card.replace('card', ""), 10) + 3)).addClass('selected');
                                } else {
             ...