回答編集履歴
2
コード追記
answer
CHANGED
@@ -28,4 +28,78 @@
|
|
28
28
|
jpdi[i].style.backgroundColor = ''
|
29
29
|
});
|
30
30
|
})
|
31
|
+
```
|
32
|
+
|
33
|
+
---
|
34
|
+
コメントの地方で分割した場合のコード例
|
35
|
+
|
36
|
+
```html
|
37
|
+
<div class="japan_list">
|
38
|
+
<ul class="tohoku">
|
39
|
+
<li>北海道</li>
|
40
|
+
<li>岩手</li>
|
41
|
+
<li>宮城</li>
|
42
|
+
<li>青森</li>
|
43
|
+
<li>福島</li>
|
44
|
+
</ul>
|
45
|
+
<ul class="kanto">
|
46
|
+
<li>東京</li>
|
47
|
+
<li>千葉</li>
|
48
|
+
<li>神奈川</li>
|
49
|
+
</ul>
|
50
|
+
<ul class="kyusyu">
|
51
|
+
<li>福岡</li>
|
52
|
+
<li>長崎</li>
|
53
|
+
<li>沖縄</li>
|
54
|
+
</ul>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<div class="japan_div">
|
58
|
+
<div class="tohoku">
|
59
|
+
<div>北海道</div>
|
60
|
+
<div>岩手</div>
|
61
|
+
<div>宮城</div>
|
62
|
+
<div>青森</div>
|
63
|
+
<div>福島</div>
|
64
|
+
</div>
|
65
|
+
<div class="kanto">
|
66
|
+
<div>東京</div>
|
67
|
+
<div>千葉</div>
|
68
|
+
<div>神奈川</div>
|
69
|
+
</div>
|
70
|
+
<div class="kyusyu">
|
71
|
+
<div>福岡</div>
|
72
|
+
<div>長崎</div>
|
73
|
+
<div>沖縄</div>
|
74
|
+
</div>
|
75
|
+
</div>
|
76
|
+
```
|
77
|
+
|
78
|
+
**jQueryの場合**
|
79
|
+
```js
|
80
|
+
$(function() {
|
81
|
+
let jpli = $('.japan_list > ul > li');
|
82
|
+
let jpdiv = $('.japan_div > div > div');
|
83
|
+
jpli.hover(function() {
|
84
|
+
jpdiv.eq(jpli.index(this)).css('background', '#F6827B');
|
85
|
+
}, function() {
|
86
|
+
jpdiv.eq(jpli.index(this)).css('background', '');
|
87
|
+
});
|
88
|
+
});
|
89
|
+
```
|
90
|
+
$(this).index() → 自身(this)が親要素の中で何番目か
|
91
|
+
要素リスト.index(this) → 自身(this)が要素リストの中で何番目か
|
92
|
+
|
93
|
+
**ネイティブのJavaScript場合**
|
94
|
+
```js
|
95
|
+
const jpli = document.querySelectorAll('.japan_list > ul > li');
|
96
|
+
const jpdi = document.querySelectorAll('.japan_div > div > div');
|
97
|
+
jpli.forEach(function(el, i) {
|
98
|
+
el.addEventListener('mouseover', () => {
|
99
|
+
jpdi[i].style.backgroundColor = '#F6827B'
|
100
|
+
});
|
101
|
+
el.addEventListener('mouseleave', () => {
|
102
|
+
jpdi[i].style.backgroundColor = ''
|
103
|
+
});
|
104
|
+
})
|
31
105
|
```
|
1
コード追加
answer
CHANGED
@@ -11,4 +11,21 @@
|
|
11
11
|
jpdiv.eq($(this).index()).css('background', '');
|
12
12
|
});
|
13
13
|
});
|
14
|
+
```
|
15
|
+
---
|
16
|
+
|
17
|
+
ネイティブのJavaScriptで書くなら、
|
18
|
+
|
19
|
+
```js
|
20
|
+
const jpli = document.querySelectorAll('.japan_list li');
|
21
|
+
const jpdi = document.querySelectorAll('.japan_div div');
|
22
|
+
|
23
|
+
jpli.forEach(function(el, i) {
|
24
|
+
el.addEventListener('mouseover', () => {
|
25
|
+
jpdi[i].style.backgroundColor = '#F6827B'
|
26
|
+
});
|
27
|
+
el.addEventListener('mouseleave', () => {
|
28
|
+
jpdi[i].style.backgroundColor = ''
|
29
|
+
});
|
30
|
+
})
|
14
31
|
```
|