空白文字のみのテキストノードを正常に取得できない
症状
空白文字(1バイトスペースと改行文字)だけで構成されるテキストノードを一部しか取得できない。
例示
<script type="text/javascript"> function nodes() { var obj1 = document.getElementById('samplenode'); var obj2 = document.getElementById('nlist'); for (i = 0; i < obj1.childNodes.length; i++) { var obj3 = document.createElement('li'); obj3.appendChild(document.createTextNode(obj1.childNodes[i].nodeName)); obj2.appendChild(obj3); } } </script> <ul id="samplenode"> <li>リスト1</li> <li>リスト2</li> </ul> <ol id="nlist"></ol>
- リスト1
- リスト2
ul要素の子ノードの一覧を、ul要素の次にあるol要素に出力しています。
出力結果
N7.02での結果:
- #text
- LI
- #text
- LI
- #text
補足
このバグについては以下の文書を参照してください。
修正状況
Safari1.0でこの不具合が発生するそうです。
関連記事
- :hover擬似クラスでvertical-alignが無効
- 固定レイアウトテーブルでセル幅の%値指定時に算出値が不正確
- caption要素を含むテーブルではcol/colgroupに対するスタイルが効かない
- document.styleSheets[n].titleが常にnull値を返す
- clearプロパティはnone以外の値からnone値に上書きできない
- 名称に日本語文字を含むフォントファミリの指定を無視する
- contentプロパティでopen-quote, close-quote値を無視する
- contentプロパティに指定した日本語文字が文字化けして表示される
スポンサーリンク