回答編集履歴

3

テキスト修正

2018/09/29 01:56

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -69,3 +69,41 @@
69
69
 
70
70
 
71
71
  - [https://jsfiddle.net/jun68ykt/2w1xkdbz/1/](https://jsfiddle.net/jun68ykt/2w1xkdbz/1/)
72
+
73
+
74
+
75
+ ---
76
+
77
+
78
+
79
+ **追記2**
80
+
81
+
82
+
83
+ 質問の主旨からは外れてしまいますが、以下のように `getElementsByTagName` の結果に対して、`Array.prototype.forEach` を使うことでも実現できます。
84
+
85
+
86
+
87
+ ```javascript
88
+
89
+ const items = document.getElementsByTagName("li");
90
+
91
+
92
+
93
+ Array.prototype.forEach.call(items, function(item, i) {
94
+
95
+ item.onclick = function() {
96
+
97
+ var href = "index" + i + ".html";
98
+
99
+ console.log(href);
100
+
101
+ };
102
+
103
+ });
104
+
105
+
106
+
107
+ ```
108
+
109
+ 動作確認用のサンプル: [https://jsfiddle.net/jun68ykt/4amvgz6n/1/](https://jsfiddle.net/jun68ykt/4amvgz6n/1/)

2

テキスト修正

2018/09/29 01:56

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -61,3 +61,11 @@
61
61
  }
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ 以下、上記のコードを動作確認するためのサンプルです。( location.href を置き換えるのではなく console.log で表示しています)
68
+
69
+
70
+
71
+ - [https://jsfiddle.net/jun68ykt/2w1xkdbz/1/](https://jsfiddle.net/jun68ykt/2w1xkdbz/1/)

1

テキスト修正

2018/09/29 01:32

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -19,3 +19,45 @@
19
19
  location.href = "index" + $count + ".html";
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ **追記**
30
+
31
+
32
+
33
+ 上記の回答は、 `.` の抜けのことしか見ていませんでした。以下で意図通りになるかなと思います。
34
+
35
+ ```javascript
36
+
37
+ var ulElement = document.getElementById("list");//ulを取得
38
+
39
+ var childElementCount = ulElement.childElementCount;//liの数を調べる
40
+
41
+
42
+
43
+
44
+
45
+ for(var $count = 0; $count < childElementCount; $count++) {
46
+
47
+
48
+
49
+ document.getElementsByTagName("li")[$count].onclick = (function(n){
50
+
51
+ return function() {
52
+
53
+ location.href = "index" + n + ".html";
54
+
55
+ };
56
+
57
+ })($count);
58
+
59
+
60
+
61
+ }
62
+
63
+ ```