teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ついき

2019/11/28 06:35

投稿

yambejp
yambejp

スコア117967

answer CHANGED
@@ -39,4 +39,55 @@
39
39
  }
40
40
  });
41
41
  </script>
42
- ```
42
+ ```
43
+
44
+ > 別のJSの処理を走らせたいため、'["other","all"]'という形で取得したいと
45
+ とのご意見をいただきましたが、「["other","all"]」で、しゅつりょくされていますね。
46
+ たとえば別のjsでこう受け取ってみます
47
+
48
+ ```javascript
49
+ <script src="https://cdn.jsdelivr.net/npm/vue"></script>
50
+ <div id="list">
51
+ <div v-for="list in datalists">
52
+ <li v-bind:groups="list.group">
53
+ <img class="img" :src="list.imgStatic">
54
+ <p>{{ list.title }}</p>
55
+ <p>{{ list.main }}</p>
56
+ <p>{{ list.date}}</p>
57
+ </li>
58
+ </div>
59
+ </div>
60
+ <input type="button" id="btn" value="btn">
61
+ <script>
62
+ new Vue({
63
+ el: '#list',
64
+ data: {
65
+ datalists: [
66
+ {
67
+ "group": '["other","all"]',
68
+ "imgStatic": ("../static/XXX.jpg"),
69
+ "title": "タイトル",
70
+ "main": "メイン",
71
+ "date": "日付"
72
+ },
73
+ {
74
+ "group": '["other","all"]',
75
+ "imgStatic": ("../static/XXX.jpg"),
76
+ "title": "タイトル",
77
+ "main": "メイン",
78
+ "date": "日付"
79
+ },
80
+ ],
81
+ }
82
+ });
83
+ document.querySelector('#btn').addEventListener('click',function(){
84
+ var x=Array.from(document.querySelectorAll('[groups]')).map(y=>y.getAttribute('groups'));
85
+ console.log(x); //Array [ "[\"other\",\"all\"]", "[\"other\",\"all\"]" ]
86
+ console.log(x[0]); // ["other","all"]
87
+ console.log(x[0].length); //15
88
+ });
89
+ </script>
90
+ ```
91
+ 配列で受けるとたしかにエスケープされているようにも見えますがこれは
92
+ 開発ツールの表示上の問題
93
+ 要素をとれば指定したものが挿入されていることが判断できます