ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

jQueryを使っているJavaScriptの高速化

InternetExplorerで動作が遅いので、改善作業中。

現在のコード

var index = $('input.copy').index(this);

var name = $("input.name").eq(index).val();

まず、最初にクリックされたボタンが何番目のボタンなのかindexを取得する。

次に、indexを使って、class属性がnameから値を取得する。

改造後のコード

var index = $(this).attr("id").slice(4);

 var name = $("#name" + index).val();

まず、クリックされたボタンのid属性を取得した後に、不要部分を取り除いてindexとして使える値を取得する。

次に、indexを使って、id属性がname+indexから値を取得する。

改造の結果

id属性を使うようにしたら、以前は30秒くらいかかっていたのが、3秒くらいに速くなっていた。

 

ブラウザをInternetExplorer以外にすれば、効率悪くても速いんだが。。。