@teramako あ、最近のFirefoxだと互換モードでもidはグローバルにならないかもしれません。はてなダイアリー&Firefox9&Firebugで確認した限りでは。
2012-01-22 02:32:41(ε・◇・)з <form name="form" id="form" class="form" data-form="form"></form> が ほむほむほむほむほむほむ にしか見えない人がきっとおるで
2012-01-22 02:33:55@os0x NightlyのdoctypeなしHTMLでやったところ、アクセスできた(コンソールに警告つきだけど)のでグローバルになってますね
2012-01-22 02:35:05"ここで取り上げてるのは、属性セレクタや擬似クラスセレクタについてではなく、IDセレクタ と CLASSセレクタ についてです。" / 伝え方が悪かったかもしれません。idに対して属性セレクタを使うケースもありかなと。
2012-01-22 02:39:02id="hoge-foo", id="hoge-piyo" があった時、[id|="hoge"] と指定するケースを想定していました。 個人的にはしっくり来ませんが、用法としてはありな気がします。
2012-01-22 02:39:22@teramako Firefox9でもローカルファイルだとグローバルになりました。はてなダイアリーが何か特殊なのかもしれません。。
2012-01-22 02:44:36「id="hoge-foo", id="hoge-piyo" にするなら、class="hoge" にすべき」という意見には個人的には賛成です。
2012-01-22 02:46:14ただ、idだけキャメルケースで命名すると他で [att|=val] が使われた時に名前の統一性がなくなるので、しっくり来ないながらも意識改革が必要かなーという気がしてます。
2012-01-22 02:47:15@os0x はてなダイアリーでも試しましたが、Nightly, 9どちらもアクセスできましたよ。 >> window["simple-header"]
2012-01-22 02:49:44@think49 (ε・◇・)з そういえば [att|=val] は IE7+ から使えるんでした~ http://t.co/zcjAMRvB 使い所がわからないまま、存在をわすれちゃうんだよね~
2012-01-22 02:53:46@os0x @teramako 一応、私も Fx9.0.1 で window['hoge-foo'] === undefined になることを確認しました。 http://t.co/4cNGnNEC
2012-01-22 02:56:13Nightly、GCLIのjavascriptはプロパティとして存在しないと実行できないっぽいな。__notSuchMethod__とかで実装されていると実行できない罠があるかも
2012-01-22 03:01:16@think49 @os0x jsbinはiframe内にレンダリングされるので、window.frames[0]["hoge-foo"] でアクセスできました。
2012-01-22 03:02:14@teramako @os0x うーん…。JSBin の [JavaScript] のコードブロックに入力すればiframe内にscript要素が挿入されますよね。
2012-01-22 03:09:48@teramako @os0x window.hoge までは取得できますが、window['hoge-foo'] だけ Fx9.0.1 の [Webコンソール] で取得できませんでした。
2012-01-22 03:12:24@think49 @teramako Firefoxの場合、互換モードであってもIDにハイフンを含む場合はグローバルから参照できるようにはならないみたいですね。
2012-01-22 03:12:50@teramako @os0x 一応試してみたんですが、[Webコンソール] で window.frames[0]["hoge-foo"] を叩くと TypeError が返ります。コンソールだけ特権モードってわけでもなさそうですね。
2012-01-22 03:15:34