繰り返し処理の際の実行速度

例えばHTMLのa要素の内、特定複数のa要素に対しclass='foo'を加えたいとしよう。この際の処理ので速いのはどっちなんだろう

その1、置換

var b=document.body;
b.innerHTML=b.innerHTML.replace(/<a (各a要素の条件)/, '<a class=foo '+RegExp.$1);

その2、for文

var as=document.getElementsByTagName('a');
var asl = as.length;
for(var i=0; i<asl; i++){
  if(各a要素の条件文){
    as[i].className = 'hoge'
  }
}

っとこの二つの比較

今度やってみよう。
置換だとページのほぼ全てのリフレッシュになるため遅そうだなぁ。可読性も条件によっては悪くなりそう。