トップページ >  JavaScript >  ホワイトスペースを削除する
初版2013/02/24: 最終更新日2013/02/24
  ホワイトスペースを削除する
目次
ホワイトスペースを削除する
ホワイトスペースを削除する
子要素を取得するで書いたスクリプトのホワイトスペースを削除します。
以下のようなHTMLがあったとします。

child1 child2 child3 child4 child5


<div id="parent">
    <span id="child1">child1</span>
    <span id="child2">child2</span>
    <span id="child3">child3</span>
    <span id="child4">child4</span>
    <span id="child5">child5</span>
</div>

以下のスクリプトでアラートする前にホワイトスペースかどうかをnodeValueを使って判断します。
nodeValueはnodeTypeが3(テキストノード)の場合、存在するプロパティで、1(要素ノード)の場合は存在しません。
ホワイトスペースはテキストノードです。

<script language="JavaScript">
<!--
function b(){
    elm = document.getElementById("parent").childNodes;
    for(var i=0;i<elm.length;i++){
        alert(elm[i].innerHTML);
    }
}
// -->
</script>

以下のボタンを実行してください。ホワイトスペースが実行されていないのが確認できます。



以下、ソースです。

<script language="JavaScript">
<!--
function a(){
    elm = document.getElementById("parent").childNodes;
    for(var i=0;i<elm.length;i++){
        if(elm.item(i).nodeType === 3){
            if(!elm.item(i).nodeValue.match("/[^\s\t\n\r]/")){
                continue;
            }
        }
        alert(elm.item(i).innerHTML);
        // 同じです
        //alert(elm[i].innerHTML);
    }
}
// -->
</script>

IE8、Chrome25で動作確認済みです。