回答編集履歴

2

バグがあったので修正・説明の追加

2015/10/30 22:52

投稿

prince_0203
prince_0203

スコア26

test CHANGED
@@ -1,30 +1,42 @@
1
+ class="aiueo"が複数あっても動作します。
2
+
3
+
4
+
1
5
  ```javascript
6
+
7
+ /*jshint browser: true, jquery: true*/
8
+
9
+
2
10
 
3
11
  $(function() {
4
12
 
5
- var aiueo = $('.aiueo'); // 2回使うので変数に入れ
13
+ var aiueo = $('.aiueo'); // 2回使うので変数に入れて処理削減
6
14
 
7
- var aiueoHtml, aiueoArray;
15
+ var aiueoHtmlArray, aiueoThis;
16
+
17
+
8
18
 
9
19
  aiueo.each(function() { // class="aiueo"が複数あるかもしれないのですべてに対して処理
10
20
 
11
- aiueoHtml = $(this).html(); // htmlを取得
21
+
12
22
 
13
- aiueoArray = aiueoHtml.split('<hr>'); // hr要素分割て配列に代入
23
+ aiueoThis = $(this); // 3回使うので変数に入れて処理削減(thisはここはn個目のclass="aiueo"を表ます)
14
24
 
15
- aiueo.empty(); // class="aiueo"内容削除
25
+ aiueoHtmlArray = aiueoThis.html().split('<hr>'); // thisのHTML取得し、hr要素で分割して配列に代入
16
26
 
17
- $(aiueoArray).each(function(index) { // 配列各要素に対して処理
27
+ aiueoThis.empty(); // this内容を削除
18
28
 
19
- aiueo.append(function() { // class="aiueo"最後追加
29
+ $(aiueoHtmlArray).each(function(index) { // aiueoHtmlArray各要素対して処理
20
30
 
21
- if(aiueoArray[index].indexOf('ざーざー') != -1) { // 「ざーざー」という文字列が含まれたら
31
+ aiueoThis.append(function() { // thisの最後に追加
22
32
 
33
+ if(aiueoHtmlArray[index].indexOf('ざーざー') != -1) { // 「ざーざー」という文字列が含まれたら
34
+
23
- return '<span style="background-color: red;">' + aiueoArray[index] + '</span><hr>';
35
+ return '<span style="background-color: red;">' + aiueoHtmlArray[index] + '</span><hr>';
24
36
 
25
37
  } else { // 「ざーざー」という文字列が含まれていなかったら
26
38
 
27
- return aiueoArray[index] + '<hr>';
39
+ return aiueoHtmlArray[index] + '<hr>';
28
40
 
29
41
  }
30
42
 
@@ -32,10 +44,14 @@
32
44
 
33
45
  });
34
46
 
35
-
47
+
36
48
 
37
49
  });
38
50
 
39
51
  });
40
52
 
41
53
  ```
54
+
55
+
56
+
57
+ (10/31 07:52 一部修正しました)

1

コメントの追加・修正

2015/10/30 22:52

投稿

prince_0203
prince_0203

スコア26

test CHANGED
@@ -6,23 +6,23 @@
6
6
 
7
7
  var aiueoHtml, aiueoArray;
8
8
 
9
- aiueo.each(function() {
9
+ aiueo.each(function() { // class="aiueo"が複数あるかもしれないのですべてに対して処理
10
10
 
11
11
  aiueoHtml = $(this).html(); // htmlを取得
12
12
 
13
13
  aiueoArray = aiueoHtml.split('<hr>'); // hr要素で分割して配列に代入
14
14
 
15
- aiueo.empty(); // 一度内容を削除
15
+ aiueo.empty(); // class="aiueo"の内容を削除
16
16
 
17
17
  $(aiueoArray).each(function(index) { // 配列の各要素に対して処理
18
18
 
19
- aiueo.append(function() { // 最後に追加
19
+ aiueo.append(function() { // class="aiueo"の最後に追加
20
20
 
21
- if(aiueoArray[index].indexOf('ざーざー') != -1) { //「ざーざー」という文字列が含まれたら
21
+ if(aiueoArray[index].indexOf('ざーざー') != -1) { // 「ざーざー」という文字列が含まれたら
22
22
 
23
23
  return '<span style="background-color: red;">' + aiueoArray[index] + '</span><hr>';
24
24
 
25
- } else {
25
+ } else { // 「ざーざー」という文字列が含まれていなかったら
26
26
 
27
27
  return aiueoArray[index] + '<hr>';
28
28