質問編集履歴
1
改善の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -110,4 +110,53 @@
|
|
110
110
|
|
111
111
|
当方JavaScript初心者のため上のソースコードにおかしな点などあるやもしれませんので、もし意図が伝わりにくい等の不備がございましたらどうぞご指摘ください。
|
112
112
|
|
113
|
-
以上です。何卒、宜しくお願い申し上げます。
|
113
|
+
以上です。何卒、宜しくお願い申し上げます。
|
114
|
+
|
115
|
+
###改善の追記
|
116
|
+
maisumakun様のアドバイスを受けまして、以下「keisoku_3();」です。
|
117
|
+
【改善1】として「.clone()」を使い、【改善2】としてクラス付与を変更致しました。
|
118
|
+
|
119
|
+
ですが「$html」が取得できないようで、要素の挿入がされない状況になってしまいました。
|
120
|
+
困ったことにエラーも出ておらず、悪いところがわかりません。
|
121
|
+
|
122
|
+
お気づきの点ございましたらご指摘いただければと思い、ここに追記させて頂きました。
|
123
|
+
```js
|
124
|
+
|
125
|
+
/*
|
126
|
+
keisoku_3();
|
127
|
+
maisumakun様のアドバイスを受けて
|
128
|
+
----------------------------------------------*/
|
129
|
+
// 計測を実行
|
130
|
+
keisoku_3();
|
131
|
+
function keisoku_3(){
|
132
|
+
|
133
|
+
var time_before = new Date().getTime();
|
134
|
+
|
135
|
+
var $html;
|
136
|
+
for ( var i = 0; i < 3; i++ ) {
|
137
|
+
var data = { num:i, ttl:'hello_'+i };
|
138
|
+
|
139
|
+
if ( i == 0 ){
|
140
|
+
// 【改善1】1回目だけjQeury化する
|
141
|
+
var html = get_outline_html( '' ); // 【改善2】iを渡してクラス付与しない
|
142
|
+
var $html = $( html )
|
143
|
+
.find( '.ttl' ).text( data.ttl )
|
144
|
+
.find( '.num' ).text( data.num )
|
145
|
+
.find( '.box' ).addClass( 'num'+i ); // 【改善2】ここでクラス付与する
|
146
|
+
}else{
|
147
|
+
// 【改善1】2回目以降は.clone()する
|
148
|
+
var $html = $html.clone();
|
149
|
+
$html
|
150
|
+
.find( '.ttl' ).text( data.ttl )
|
151
|
+
.find( '.num' ).text( data.num )
|
152
|
+
.find( '.box' ).addClass( 'num'+i );
|
153
|
+
}
|
154
|
+
$( 'body' ).html( $html[0] ); // $html が取得できていない様子
|
155
|
+
}
|
156
|
+
|
157
|
+
var time_after = new Date().getTime();
|
158
|
+
console.log( 'keisoku_3() = ' + parseInt(time_after - time_before) );
|
159
|
+
}
|
160
|
+
|
161
|
+
|
162
|
+
```
|