2006年11月 3日

番号リストで番号を降順にする方法は?

 自分のWeblogを中心とするホームページに手を加えた事項を備忘録的に書き留めて、カストマイズ履歴のページをテンプレートとして作成している。カストマイズした項目のリストは新しいカストマイズが一番上にきているが、リストの番号は一番最新のものが常に1番であった。この番号はできれば最新のカストマイズが何番目のカストマイズかを示したいので、番号は降順にして1番目にしたカストマイズは1番にしたい。HTMLのコードでは、HTML4.01の仕様書でもそのような方法は記載されていないらしく、HTMLコードではどうも駄目らしい。Googleで「HTML 降順 リスト ol li」でサーチすると、人力検索?Hatena::Qustionで「HTML番号リストで番号を逆順にする方法は?」という質問があり、その回答に andi さんという方が JavaScript での解決を提示されておられる。この JavaScript をいただいて、カストマイズ履歴テンプレートに貼り付けてみると希望通りの表示になった。ただし、このJavaScriptは、</ol> の後に貼り付けると上手くいくようだ。なお、<ol> は下のScript 似合わせて <ol id=hoge> とValue属性が必要である。 ちなみに、この JavaScript は以下の通りである。
<script>
var o = document.getElementById("hoge");
var max = o.childNodes.length;
for(var i = 0;i < max;i ++){
o.childNodes[i].value = max - i;
}
</script>
(追記:2006/11/8) このJavaScript はIEではうまく表示されるが、Firefox、Netscape では偶数だけの表示になり数字が倍になる。原因をもう少し調査したい。 

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)