空白文字のみのテキストノードを正常に取得できない

症状

空白文字(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での結果:

    1. #text
    2. LI
    3. #text
    4. LI
    5. #text

    補足

    このバグについては以下の文書を参照してください。

    修正状況

    Safari1.0でこの不具合が発生するそうです。

    関連記事

    スポンサーリンク

    リストマーカーの番号が途中から振られる

    ホームページ製作・web系アプリ系の製作案件募集中です。

    上に戻る