2009年6月22日月曜日

[link][javascript]なんかバグあったので修正。とその原因。

何故かLinksのところで上手く表示制御が出来ていないとの報告を受けたので調査。

どうもIE7以下で、

article.setAttribute('class',this.hidden);

が上手く動いていなかった様であった。

なので検索して調べてみたところ…!!

var bug= (document.documentElement.getAttribute("style") == document.documentElement.style);

の様なコードでチェック出来る事が発覚した模様。

タネあかしとしてはこうだ。IE7以下のgetAttributeやsetAttributeは手抜きで、elem.getAttribute("style","hoge")elem.style="hoge"と同等の物として制御している模様。つまり………だ、elem.getAttribute("class","hoge")elem.class="hoge"と同様のことらしい。

まぁそんな感じのバグ潰しのひととき。

きっと周囲の人は知っていると思うけれど私が知らなかったのでメモ代わりにぺたり。

参考:
IE の getAttribute / setAttribute | Days on the Moon
http://nanto.asablo.jp/blog/2005/10/29/123294