Вы используете jQuery функциональность при доступе к DOM.
Вы не можете навести курсор мыши на скрытые вещи, поэтому мой ответ перемещает div из якорей.
Как указал Дж. Доу, текстовый идентификатор должен быть изменен на класс, поскольку идентификаторы должны быть уникальными - это не имеет никакого отношения к реальной проблеме, хотя
Вот и обычная версия - я бы обычно делегировал, но в этом случае нам нужен eventListener для каждой ссылки
const overAndOut = e => {
const tgt = e.target;
if (tgt.tagName === "A") {
tgt.nextElementSibling.classList.toggle('text', e.type === "mouseleave")
}
};
[...document.querySelectorAll('#boxcontainer a')].forEach(link => {
link.addEventListener('mouseover', overAndOut)
link.addEventListener('mouseleave', overAndOut)
})
.boxcontainer {
width: 30%;
height: 50%;
position: fixed;
display: flex;
flex-direction: column;
z-index: 100;
}
.boxcontainer a {
box-shadow: -9px 12px 7px 0px rgba(0, 0, 0, 0.336);
margin: 10px;
padding-top: 10%;
padding-bottom: 10%;
text-decoration: none;
color: white;
display: flex;
justify-content: center;
align-items: center;
}
.boxcontainer a:hover {
transform: scale(1.1);
color: white;
}
.text {
visibility: hidden;
}
<div id="boxcontainer">
<a href="asia.html" style="background-color:#46515a;">Asia</a>
<div class='text'>asia.</div>
<a href="americas.html" style="background-color: #2d343a;">Americas</a>
<div class='text'>Americas.</div>
<a href="europe.html" style="background-color: #1a1f22;">Europe</a>
<div class='text'>Europe.</div>
</div>
jQuery:
$('#boxcontainer a').on("mouseenter", function() {
$(this).next().removeClass("text")
})
.on("mouseleave", function() {
$(this).next().addClass("text")
});
.boxcontainer {
width: 30%;
height: 50%;
position: fixed;
display: flex;
flex-direction: column;
z-index: 100;
}
.boxcontainer a {
box-shadow: -9px 12px 7px 0px rgba(0, 0, 0, 0.336);
margin: 10px;
padding-top: 10%;
padding-bottom: 10%;
text-decoration: none;
color: white;
display: flex;
justify-content: center;
align-items: center;
}
.boxcontainer a:hover {
transform: scale(1.1);
color: white;
}
.text {
visibility: hidden;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="boxcontainer">
<a href="asia.html" style="background-color:#46515a;">Asia</a>
<div class='text'>Asia.</div>
<a href="americas.html" style="background-color: #2d343a;">Americas</a>
<div class='text'>Americas.</div>
<a href="europe.html" style="background-color: #1a1f22;">Europe</a>
<div class='text'>Europe.</div>
</div>