スタイルシートで正規表現?
[href^="aa"] {background: #000}
なにやら正規表現を使って、IDだとかURL別に処理しているこんな感じの記述を見掛けた。
なんたらセレクタだとか。
だけどIE6では対応していない様子・・・。(7、8は対応?)
しかしexpressionを使えば同じようなことが一応できる。
<style type="text/css"> input { color: expression(function(o) { if(/aa/.test(o.id)) { with(o.style) { background = '#00f'; border = '1px solid #ff0'; } o.value = o.id; return '#fff'; } o.value = o.id; }(this)); } a { color: expression(function(o) { if(/google/i.test(o.href)) { o.style.zoom = 2; return '#ff0'; } }(this)); } </style> <body> <input id=aaa> <input id=aab> <input id=ccc> <a href="http://d.hatena.ne.jp/">test</a> <a href="http://www.google.com/">test</a> </body>
IDにaaを含むinputだけ色を変えたり
リンクに特定文字列を含むアンカーだけ色や大きさを変えたりと。
colorなど、一つの設定内だけで色々できるけど、変な処理をするとブラウザが固るw
webサイトなどには向いていないだろうけど、HTAなどに使う分には便利だろうね。
ただexpressionを多用するのは、メモリ的だか何だかによろしくないらしい(よくわからん)。
前にも同じようなこと書いた気がするけど、まいいや。