ブログ内検索

by Futomi Hatano

WebKitにgetElementsByClassNameが実装される

Surfin’ Safariのブログ記事『WebKit gets Native getElementsByClassName』によると、WebKit に getElementsByClassName が実装されたようです。

要素にセットされた class 属性の値から要素を取り出すには、これまでは全要素を総なめで検索するか、もしくは、XPath を使う方法が主流でした。XPath であれば処理が速いのですが、XPath をサポートしていないブラウザでは全要素の総なめ検索になるため、パフォーマンスが非常に悪くなります。

HTML5 で規定されている getElementsByClassName メソッドは、JavaScript でライブラリを作るうえで、かねてより求められているメソッドでした。

このブログ記事では、getElementsByClassName メソッドのベンチマークも公開されていますが、他の手法で class 属性値から要素を取り出す処理において、WebKit に組み込まれたネイティブの getElementsByClassName メソッドは、かなり早いようです。

getElementsByClassName メソッドは、次期バージョンの Firefox 3 や Opera9.50 ではネイティブで組み込まれ、ベータ版をダウンロードすれば実際に動作することを確認することができます。WebKit もこれに仲間入りしたことになりますが、Safari 3.04 パブリックベータではまだ組み込まれていません。Safari 3 が正式にリリースされるときには、ぜひgetElementsByClassName メソッドも組み込んで欲しいところです。

これで Firefox, Opera, Safari は code>getElementsByClassName メソッドの実装の目途が見えてきましたが、次期 IE8 でも実装されることを期待したいところです。ただでさえ、IE の DOM 関連のサポートは他のブラウザと比べ遅れています。また、JavaScript(JScript)のパフォーマンスも良い評価が得られていません

IE7 では CSS 関連の強化に力を入れたようですが、IE8 では JavaScript に関しても力を入れていただきたいですね。

この投稿は 2007年12月23日 日曜日 11:42 AM に ブラウザー カテゴリーに公開されました。 この投稿へのコメントは RSS 2.0 フィードで購読することができます。 現在コメント、トラックバックともに受け付けておりません。

コメントは受け付けていません。