回答編集履歴
2
コメント追加(polyfill)
answer
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
</div>
|
30
30
|
</div>
|
31
31
|
</template>
|
32
|
+
<!-- polyfill -->
|
32
33
|
<script src="template.js"></script>
|
33
34
|
```
|
34
35
|
|
1
サンプル追加
answer
CHANGED
@@ -5,4 +5,49 @@
|
|
5
5
|
[https://github.com/webcomponents/template](https://github.com/webcomponents/template)
|
6
6
|
|
7
7
|
サンプルを提示したいのですが、余裕がないかもしれませんのでここをご覧ください。
|
8
|
-
[https://www.html5rocks.com/ja/tutorials/webcomponents/template/](https://www.html5rocks.com/ja/tutorials/webcomponents/template/)
|
8
|
+
[https://www.html5rocks.com/ja/tutorials/webcomponents/template/](https://www.html5rocks.com/ja/tutorials/webcomponents/template/)
|
9
|
+
|
10
|
+
-- 10/4 追記 サンプル
|
11
|
+
```HTML
|
12
|
+
<template id="hoge">
|
13
|
+
<div>
|
14
|
+
<div class="context">
|
15
|
+
<a href="http://localhost:3000"></a>
|
16
|
+
</div>
|
17
|
+
<div class="content">
|
18
|
+
<div class="item-header">
|
19
|
+
<a class="profile"><span class="name">名前</span></a>
|
20
|
+
<small class="time">YYYY-MM-DD</small>
|
21
|
+
</div>
|
22
|
+
<div class="text-container">
|
23
|
+
<p class="comment">コメント内容</p>
|
24
|
+
</div>
|
25
|
+
<div class="item-fotter">
|
26
|
+
<span class="reply"></span>
|
27
|
+
<span class="retweet"></span>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</template>
|
32
|
+
<script src="template.js"></script>
|
33
|
+
```
|
34
|
+
|
35
|
+
```JavaScript
|
36
|
+
document.addEventListener('DOMContentLoaded', function(event) {
|
37
|
+
var data = [["URLA","名前A","日付A","コメントA"],["URLB","名前B","日付B","コメントB"],["URLC","名前C","日付C","コメントC"]];
|
38
|
+
|
39
|
+
var fragment = document.createDocumentFragment();
|
40
|
+
var content = document.getElementById('hoge').content;
|
41
|
+
|
42
|
+
for (var i = 0, len = data.length; i < len; i++) {
|
43
|
+
var clone = content.cloneNode(true);
|
44
|
+
clone.querySelector('.context a').href = data[i][0];
|
45
|
+
clone.querySelector('.name').textContent = data[i][1];
|
46
|
+
clone.querySelector('.time').textContent = data[i][2];
|
47
|
+
clone.querySelector('.comment').textContent = data[i][3];
|
48
|
+
fragment.appendChild(clone);
|
49
|
+
}
|
50
|
+
|
51
|
+
document.body.appendChild(fragment);
|
52
|
+
});
|
53
|
+
```
|