Hixie's Natural Log: Call an apple an apple
あの件に関してはOperaMozillasafariなんかの幅広いブラウザがサポートしたという、そこが事件なのであって、騒ぐポイントが違うだろとは思っていた。しかし流行ってのが如何に「ズレて」いるかをリアルタイムで観察できて、ある意味恐ろしかった。
0503 - eto.com/d

でもいろいろとつっこみどころ満載であることは確か。一つ一つつっこみどころにコメントしてもいいのですが、文句言うだけだったら何の意味もないので、試しに自分なりの実装を作ってみました。

特大のツッコミどころがそのまま、というか拡大されてる。

  document.getElementsByClassName = function(klass) {
    var all = document.getElementsByTagName("*");
    var ar = [];
    for (var i = 0; i < all.length; i++) {
      if (all[i].className == klass)
      ar.push(all[i]);
    }
    return ar;
  };

NodeListのlengthアトリビュートに全要素の数だけアクセスするのは何の為? ものすごく多くのDOMユーザーに言いたいことだけど、NodeListは「生きて」いるよ。lengthはDOMツリーの操作に対応して変化可能だということ。JavaScriptをあまり書かない人の為にこういうのも載せとく。

function getLength(n){ getLength.times_this_called++; return n; }
getLength.times_this_called = 0;
for (var i=0; i<getLength(100); i++){ "pass" }
throw getLength.times_this_called; // 101