回答編集履歴

1

ついき

2019/11/28 06:35

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -81,3 +81,105 @@
81
81
  </script>
82
82
 
83
83
  ```
84
+
85
+
86
+
87
+ > 別のJSの処理を走らせたいため、'["other","all"]'という形で取得したいと
88
+
89
+ とのご意見をいただきましたが、「["other","all"]」で、しゅつりょくされていますね。
90
+
91
+ たとえば別のjsでこう受け取ってみます
92
+
93
+
94
+
95
+ ```javascript
96
+
97
+ <script src="https://cdn.jsdelivr.net/npm/vue"></script>
98
+
99
+ <div id="list">
100
+
101
+ <div v-for="list in datalists">
102
+
103
+ <li v-bind:groups="list.group">
104
+
105
+ <img class="img" :src="list.imgStatic">
106
+
107
+ <p>{{ list.title }}</p>
108
+
109
+ <p>{{ list.main }}</p>
110
+
111
+ <p>{{ list.date}}</p>
112
+
113
+ </li>
114
+
115
+ </div>
116
+
117
+ </div>
118
+
119
+ <input type="button" id="btn" value="btn">
120
+
121
+ <script>
122
+
123
+ new Vue({
124
+
125
+ el: '#list',
126
+
127
+ data: {
128
+
129
+ datalists: [
130
+
131
+ {
132
+
133
+ "group": '["other","all"]',
134
+
135
+ "imgStatic": ("../static/XXX.jpg"),
136
+
137
+ "title": "タイトル",
138
+
139
+ "main": "メイン",
140
+
141
+ "date": "日付"
142
+
143
+ },
144
+
145
+ {
146
+
147
+ "group": '["other","all"]',
148
+
149
+ "imgStatic": ("../static/XXX.jpg"),
150
+
151
+ "title": "タイトル",
152
+
153
+ "main": "メイン",
154
+
155
+ "date": "日付"
156
+
157
+ },
158
+
159
+ ],
160
+
161
+ }
162
+
163
+ });
164
+
165
+ document.querySelector('#btn').addEventListener('click',function(){
166
+
167
+ var x=Array.from(document.querySelectorAll('[groups]')).map(y=>y.getAttribute('groups'));
168
+
169
+ console.log(x); //Array [ "[\"other\",\"all\"]", "[\"other\",\"all\"]" ]
170
+
171
+ console.log(x[0]); // ["other","all"]
172
+
173
+ console.log(x[0].length); //15
174
+
175
+ });
176
+
177
+ </script>
178
+
179
+ ```
180
+
181
+ 配列で受けるとたしかにエスケープされているようにも見えますがこれは
182
+
183
+ 開発ツールの表示上の問題
184
+
185
+ 要素をとれば指定したものが挿入されていることが判断できます