特定のdivにカーソルを置くと、そのdivに関する特定のテキストが表示されるシステムを作成しようとしています。各divは同じクラスにあり、対応するインデックスを持つ別のdivに情報があります。私はそれぞれのdivの隠れた情報を表示するために、各divの上にカーソルを置いてクラスのインデックスを取得できる方法があるかどうか疑問に思っていました。 (隠された情報divを表示することによって)。クラスからインデックスを取得する方法
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
var allPeople = [];
function win (name, info){
\t this.name = name;
\t this.info = info;
}
allPeople[0] = new win ("Shelly", "Is Cool");
allPeople[1] = new win ("Brandon", "Likes to golf");
allPeople[2] = new win ("Steve", "Plays Football");
allPeople[3] = new win ("Mia", "Is a good cook");
var i = 0;
$('document').ready(function(){
\t for (i = 0; i < allPeople.length; i++){
\t \t $("body").append("<div class='people'> " + allPeople[i].name +" </div>");
\t \t
\t }
\t for (i = 0; i < allPeople.length; i++){
\t \t $("body").append("<div class='info'> " + allPeople[i].info +" </div>");
\t }
});
</script>
<style>
body {
\t background-color: lightblue;
}
div {
\t background-image: url("http://themes.wdfiles.com/local--files/semi-trans/semi-transbgtransparent.png");
\t color: white;
\t padding: 2%;
\t margin: 2%;
\t border: 3px white solid;
}
.info {
\t display: none;
\t border-color: red;
}
</style>
</head>
<body>
</body>
</html>
なぜあなた 'div'は' dataset'属性をタグ与えていませんか? forループのインデックス 'i'を使用して' dataset'の値を取得し、クエリセレクタを使用して関連する 'info'クラスをターゲットにします。より簡単な方法は、ホバートされた要素をタグ付けし、 '.next()'を使って 'info'を取得することです。 – NewToJS