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

回答編集履歴

2

書式の改善

2018/01/30 03:59

投稿

so87
so87

スコア789

answer CHANGED
@@ -16,9 +16,9 @@
16
16
  ```javascript
17
17
  $(function () {
18
18
  //forで回す場合(質問者さんのコードではせっかくのカウンタ変数iが使われていません。)
19
- var $table = $(".userTable_01");
19
+ var $table = $(".userTable_01"); //jQueryは変数に入れてキャッシュ化すると速くなります
20
20
  for (var i = 0, length = $table.length; i < length; i++) {
21
- var review_html = $(".userTable_01").eq(i).html();
21
+ var review_html = $table.eq(i).html();
22
22
  //review_htmlを処理
23
23
  }
24
24
 

1

試したことが追記されていましたので

2018/01/30 03:59

投稿

so87
so87

スコア789

answer CHANGED
@@ -9,4 +9,23 @@
9
9
  eqとgetの違いはjQueryの基本なので調べてみて下さい。
10
10
 
11
11
  これをただ単純に配列にしたいならば`$('.userTable_01').toArray()`で変換する事も可能です。
12
- 配列にしてしまえば、操作も自ずと決まってくるので考えやすくなると思います。
12
+ 配列にしてしまえば、操作も自ずと決まってくるので考えやすくなると思います。
13
+
14
+ 追記:試したことをリファクタリングするとこうなります
15
+
16
+ ```javascript
17
+ $(function () {
18
+ //forで回す場合(質問者さんのコードではせっかくのカウンタ変数iが使われていません。)
19
+ var $table = $(".userTable_01");
20
+ for (var i = 0, length = $table.length; i < length; i++) {
21
+ var review_html = $(".userTable_01").eq(i).html();
22
+ //review_htmlを処理
23
+ }
24
+
25
+ //eachを使う場合(カウンタ変数要らない)
26
+ $(".userTable_01").each( function(idx, elem){
27
+ var review_html = $(elem).html();
28
+ //review_htmlを処理
29
+ });
30
+ });
31
+ ```