ページ上部のナビゲーションの部分のul要素の、JavaScriptで生成した(2番目以降に出現する)子要素の先頭に、「>>」を挿入するというスクリプトを書いた。
「2番目に出現する子要素」は、childNodes[1]で問題なく参照できるはず、と思っていたが、Mozilla0.9.3と、IE5.5で、この違い。
document.getElementById('testULFord200108a21').childNodes[1].innerHTML
Mozillaの参照するchildNodes[1]は、IEの参照するchildNodes[0]と同じになっていて、んじゃあ、Mozillaの場合、childNodes[0].innerHTML
には何が入っているんだという話。
document.getElementById('testULFord200108a21').childNodes[0].innerHTML
何も入ってないよ(苦笑)。
これはもう解釈の違いというより、違う言語であるかのような違和感。こんな基礎的なところで、また実装の違いですか。疲れた。でもCSSと違って他サイトにも再利用できる汎用性があるのでくじけないでやるつもり。このくらいなら、判別に数バイト我慢すれば済むし。
他のリスト要素でも試してみた。
document.getElementById('testOLFord200108a21').childNodes[0].innerHTML
(結果は同じ)