2009年1月8日

text

text 物件

如果元素區間只放有文字,而沒有包含其它的標籤元素,則其包含單一的 text 子物件。如果子物件是多個文字物件,可以用 normalize()將相鄰的多個文字物件整合成一個文字物件。

  • 程式用法:

    <div id='txt'>
    好玩遊戲,射擊遊戲,益智遊戲,小遊戲,線上遊戲。
    </div><p>
    <script type='text/javascript'>
    var tx=document.getElementById('txt').firstChild;
    //for( k in tx )
    //  document.write( k +' : '+ tx[k] +'<br />');

    document.write( tx
         +'<br />'+ tx.childNodes.length
         +'<br />'+ tx.nodeName
         +'<br />'+ tx.nodeValue );
    </script>

  • 執行結果:

    好玩遊戲,射擊遊戲,益智遊戲,小遊戲,線上遊戲。

    [object Text]
    0
    #text
    好玩遊戲,射擊遊戲,益智遊戲,小遊戲,線上遊戲。

isElementContentWhitespace

無瀏覽器支援。

wholeText

無瀏覽器支援。

replaceWholeText()

無瀏覽器支援。

  • 程式用法:

    <script type='text/javascript'>
    var tx=document.getElementById('txt').firstChild;
    document.write( tx.isElementContentWhitespace
         +'<br />'+ tx.wholeText
         +'<br />'+ tx.replaceWholeText );
    </script>

  • 執行結果:

    undefined
    好玩遊戲,射擊遊戲,益智遊戲,小遊戲,線上遊戲。
    undefined

splitText()

將一個文字結在指定的位址切成成兩個文字結:原文字結包含第一段文字,回傳第二個文字結。位址前的文字屬於第一文字結,其餘屬於第二文字結。另外也可以使用 String.split()。其語法是:

第二文字結 = 文字結.splitText( 位址 )

文字位址由 0 算起。位址超過文字長度會發生錯誤。位址等於文字長度,則第二文字結是空字串。

  • 程式用法:

    <span id='number'>
    1234567890
    </span><p>
    <script type='text/javascript'>
    var tx=document.getElementById('number').firstChild;
    var t2=tx.splitText(2);
    document.write( '(一)'+ tx.nodeValue
             +'<br />(二)'+ t2.nodeValue );
    </script>

  • 執行結果:

    1234567890

    (一) 1
    (二)234567890

  • 上例中,第(一)的輸出:IE 是 12;Firefox, Safari, Chrome 則是 1;原因是,IE 將第一個換行字元省去了。

使用中文作測試:

  • 程式用法:

    <span id='chs'>好玩遊戲,障礙遊戲,益智遊戲,小遊戲,網路遊戲。</span><p>
    <script type='text/javascript'>
    var tx=document.getElementById('chs').firstChild;
    var t2=tx.splitText(3);
    document.write( '(一)'+ tx.nodeValue
             +'<br />(二)'+ t2.nodeValue );
    </script>

  • 執行結果:

    好玩遊戲,障礙遊戲,益智遊戲,小遊戲,網路遊戲。

    (一)好玩遊
    (二)戲,障礙遊戲,益智遊戲,小遊戲,網路遊戲。

  • 上面的結果顯示,位址是以字為單位,而不是以位元組(byte)為單位。

©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。