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 いじりを覚えてしまいましたとさ。楽しいかも……。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1544





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)

コメントする