WinIE5.0専用sub要素をDOMでfont要素に置き換えむりくり表現するJavaScript
今やっている HTML の仕事、あとで楽するために今苦労して下付の添字などを sub 要素でくくっているのですが、それだと下がりすぎですベースラインに合わせて、と言われたので、CSS で調整したのですが直りません。
よく調べてみると、お客さまの IE が 5.0 だっていうことがわかって、vertical-align が数値で指定できないのです。
ということで、DOM を使って sub 要素を font 要素に置き換える羽目になりました。
JavaScript 文法確かめてなくあっちこっちからのつぎはぎコードなのでキッタナイコードだけど残しておきます。
// sub 要素を、font 要素に置き換えします。
// Internet Explorer 5.0 は CSS による
// Vertical-align が有効に働かないので、
// sub 要素によるレンダリングを
// ベースラインにあわせたいときにはこれを使います。
//
// usage:
// <script type="text/JavaScript" src="sub.js"><script>
function onloadevent() {
if (checkbrowser()) {
replacesubtofont();
}
}
function checkbrowser(){
if (navigator.appVersion.match(/MSIE 5.0/)) {
return 1;
}
else {
return 0;
}
}
function replacesubtofont() {
dObj= document.getElementsByTagName("sub"); // sub 要素のコレクション
n = dObj.length; // 要素数(ループ内だと変動します)
for(var i = 0; i < n; i++) {
nObj = document.createElement("font"); // font 要素を作る。
nStr = document.createTextNode(dObj[0].innerHTML); // sub 要素の中身
nObj.appendChild(nStr); // font 要素の中身(= sub 要素の中身)
nObj.setAttribute("size", "1"); // font 要素の属性 size="1"
dObj[0].replaceNode(nObj, dObj[0].firstChild);
// sub 要素を作っておいた font 要素で置換
}
}
onload = onloadevent;
はからずも DOM いじりを覚えてしまいましたとさ。楽しいかも……。
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/8698688
この記事へのトラックバック一覧です: WinIE5.0専用sub要素をDOMでfont要素に置き換えむりくり表現するJavaScript:





![森田 創: WEB+DB PRESS 総集編 [Vol.1~60]](http://ecx.images-amazon.com/images/I/51aE58LxWlL._SL75_.jpg)
















![: 電子ルーペ ViewPe[ビューペ] 3R-MSV35 マイクロスコープ デジタル顕微鏡 高機能 低価格 読書 植物 研究 肌チェック](http://ecx.images-amazon.com/images/I/41erkiQgAsL._SL75_.jpg)





![: Optimus bright [docomo L-07C] 対応 予備バッテリー 1500mAh BL-44JN](http://ecx.images-amazon.com/images/I/41gjqsDjq%2BL._SL75_.jpg)










![: パンツの穴 [DVD]](http://ecx.images-amazon.com/images/I/21R9SEY1HPL._SL75_.jpg)

















