質問: document.getelementsbytagname('div'); alert(list.item(0).id); ←div要素のid属性の値が表示される alert(list.item[0].id); ←firefoxでは、has no property エラーが出る 配列のindex指定としては、後者が妥当な気がするのですが、 なぜこの場合は丸括弧で期待される結果が出るのでしょうか? itemという関数を引数0で指定した結果のプロパティ"id"のように 見えるのですが...。
回答: htmltableelementのcells[0]とcells.item(0)とか、 style.filters[0]とstyle.filters.item(0)くらいしか知りません。 getelementsbytagnameの戻り値でも使えるのは知りませんでした。 とすると、item()はarrayオブジェクトのメソッドでしょうか? 私の知る限りでは、 list[0] list.item(0) のどちらかで、list.item[0]という使い方はできません。 style.filtersのみitem()を使って、それ以外(テーブルも)は普通の配列として[]を使っていますが、 配列として扱うのは、list.lengthの関係で都合がいいというか、見やすいんですよね。 filters.itemには数値ではなく'dximagetransform.microsoft.alpha'など、文字列で指定出来るのがいいのです。 どっちが推奨されてるとか、どちらかをサポートしていないブラウザがある・ないとか、 あるんでしょうか?(便乗質問すみません)