我目前正在制作一个项目,其中我有不同的角色,当您将鼠标悬停在每个角色上时,会显示有关他们的信息。虽然我可以通过 ID 解决这个问题,但我想知道是否有任何方法可以使用给定的信息(例如使用 indexOf)获取类中对象的位置。
<div class="people">
<div>Steve</div>
<div>James</div>
<div>Mike</div>`
</div>
<div class="peopleInfo">
<div>Likes pizza</div>
<div>Is a very good chef</div>
<div>Has a family to look after</div>
</div>
.peopleInfo 中的文本是隐藏的,当我将鼠标悬停在每个人上时会出现(我已经整理了该部分)。每个都按时间顺序与每个人同步(即 Steve Likes Pizza)。有没有一种方法可以通过将鼠标悬停在 .people 中的 Steve 来获取他的索引,以生成文本“喜欢披萨”?
你可以这样做:
$(() => {
const people = $('.people div').toArray();
const peopleInfo = $('.peopleInfo div').toArray();
$('.people').on('mouseenter', 'div', ({target}) => {
const info = peopleInfo[people.indexOf(target)];
console.log(target.textContent, info.textContent);
});
});
.peopleInfo {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="people">
<div>Steve</div>
<div>James</div>
<div>Mike</div>
</div>
<br/>
<div class="peopleInfo">
<div>Likes pizza</div>
<div>Is a very good chef</div>
<div>Has a family to look after</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句