回答編集履歴

1

追記

2021/05/09 07:38

投稿

taC-h
taC-h

スコア289

test CHANGED
@@ -109,3 +109,53 @@
109
109
  </body>
110
110
 
111
111
  ```
112
+
113
+
114
+
115
+ 追記
116
+
117
+
118
+
119
+ ほかに邪魔する要素がないと仮定すればこうできます
120
+
121
+ ```html
122
+
123
+ const root = document;//.getElementById("親のID");
124
+
125
+ const buttons = root.getElementsByTagName("button");
126
+
127
+ const pList= root.getElementsByTagName("p");
128
+
129
+ console.assert(pList.length === buttons.length);
130
+
131
+ for(let i=0; i<buttons.length; i++){
132
+
133
+ buttons[i].addEventListener("click",()=>{
134
+
135
+ for(let j=0; j<buttons.length; j++){
136
+
137
+ if(j === i){
138
+
139
+ pList[j].style.display = "block";
140
+
141
+ buttons[j].style.backgroundColor = "yellow";
142
+
143
+ }else{
144
+
145
+ pList[j].style.display = "none"
146
+
147
+ buttons[j].style.backgroundColor = "grey";
148
+
149
+ }
150
+
151
+ }
152
+
153
+ });
154
+
155
+ }
156
+
157
+ ```
158
+
159
+ うまく動かなかったら親要素を詳細に指定するなり,得られた要素リストにフィルターかけるなりしてください
160
+
161
+ idだけではこれが限界だと思います