回答編集履歴

2

追加設問への回答

2017/06/29 09:30

投稿

退会済みユーザー
test CHANGED
@@ -58,6 +58,70 @@
58
58
 
59
59
  ```
60
60
 
61
+ ---
62
+
63
+
64
+
65
+ 「科学」「化学」を「<div class="subject">科学</div>」「<div class="subject">化学</div>」にする場合はこんな感じかと。
66
+
67
+ https://jsfiddle.net/takmatz/n3cctm04/
68
+
69
+ ``` javascript
70
+
71
+ var values = ["科学", "化学"];
72
+
73
+
74
+
75
+ $("div.col1").each(function(){
76
+
77
+ var $div = $(this);
78
+
79
+ var text = $div.text();
80
+
81
+
82
+
83
+ values.forEach(function (value) {
84
+
85
+ text = text.replace(new RegExp(value, 'g'), '<div class="subject">' + value + '</div>');
86
+
87
+ });
88
+
89
+
90
+
91
+ $div.html(text);
92
+
93
+ });
94
+
95
+ ```
96
+
97
+
98
+
99
+ 「科学」「化学」以外置き換えるつもりがないのであれば、以下のようにハードコーディングしてしまう方法も(好みではないですが。
100
+
101
+ https://jsfiddle.net/takmatz/vykjsx12/
102
+
103
+ ``` javascript
104
+
105
+ $("div.col1").each(function(){
106
+
107
+ var $div = $(this);
108
+
109
+
110
+
111
+ var text = $div.text()
112
+
113
+ .replace(new RegExp('科学', 'g'), '<div class="subject">科学</div>')
114
+
115
+ .replace(new RegExp('化学', 'g'), '<div class="subject">化学</div>');
116
+
117
+
118
+
119
+ $div.html(text);
120
+
121
+ });
122
+
123
+ ```
124
+
61
125
 
62
126
 
63
127
  ---

1

回答の変更

2017/06/29 09:30

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,68 @@
1
- divのテキストキーにして、変数listから引っ張ってきて、テキストを置き換える、とうことょう
1
+ 問題誤読してい
2
+
3
+ 修正したコードを載せてみました。
2
4
 
3
5
 
6
+
7
+ https://jsfiddle.net/takmatz/tb41L82v/
8
+
9
+
10
+
11
+ ``` html
12
+
13
+ <div class="col1">science chemistry</div>
14
+
15
+ <hr>
16
+
17
+ <div class="col1">science</div>
18
+
19
+ <hr>
20
+
21
+ <div class="col1">chemistry</div>
22
+
23
+ <hr>
24
+
25
+ <div class="col1">science chemistry science chemistry</div>
26
+
27
+ ```
28
+
29
+
30
+
31
+ ``` javascript
32
+
33
+ var list = {"science":"科学","chemistry":"化学"};
34
+
35
+ var keys = Object.keys(list);
36
+
37
+
38
+
39
+ $("div.col1").each(function(){
40
+
41
+ var $div = $(this);
42
+
43
+ var text = $div.text();
44
+
45
+
46
+
47
+ keys.forEach(function (key) {
48
+
49
+ text = text.replace(new RegExp(key, 'g'), '<div class="subject">' + list[key] + '</div>');
50
+
51
+ });
52
+
53
+
54
+
55
+ $div.html(text);
56
+
57
+ });
58
+
59
+ ```
60
+
61
+
62
+
63
+ ---
64
+
65
+ 修正前コード
4
66
 
5
67
  ``` html
6
68