2008年12月29日

document:方法(A-E)

特徵 A-E | 特徵 F-Z | 方法 A-E | 方法 F-Z | 事件
document 的方法
close()

關閉一份文件的輸出串流。

open()

開啟一份新文件,用來輸出。

  • 程式用法:

    <script type='text/javascript'>
    function newpage()
    {
      document.open();
      document.write('新的開始');
      document.close();
    }
    </script>
    <a href='javascript:newpage()'>點此在新文件輸出</a>

  • 執行結果:

    點此在新文件輸出

createAttribute()

傳回一個新建立的屬性結物件,可將其存放入 HTML 元素。其語法是:

屬性結 = document.createAttribute( 屬性名稱字串 )

新建的屬性結可以設定其值,其語法是:

屬性結.nodeValue=值

屬性結可以用 元素物件.setAttributeNode() 加入元素。用 元素物件.getAttribute() 讀取屬性值。另外可以用方法 元素物件.setAttribute("屬性名稱", "值") 直接建立屬性,不需用到 createAttribute()。

  • 程式用法:

    <script type='text/javascript'>
    var ao=document.createAttribute('歌手專區');
    ao.nodeValue='蔡依林';
    for( k in ao)
      if( typeof(ao[k]) == 'string' ) 
        document.write(k +' : '+ ao[k] +'<br />');
    function createAttributeDM()
    {
      var eo=document.getElementById('CA');
      eo.setAttributeNode(ao);
      alert(eo.getAttribute("歌手專區")); 
    }
    </script>
    <div id='CA'>
    <a href='javascript:createAttributeDM()'>點此建立新屬性</a>
    </div>

  • 執行結果:

    localName : 歌手專區
    name : 歌手專區
    value : 蔡依林
    nodeName : 歌手專區
    baseURI : http://ant4js.blogspot.com/2008/12/documentmthae.html
    nodeValue : 蔡依林
    textContent : 蔡依林

createAttributeNS()

在指定的名稱空間(namespace)建立一個的屬性結,傳回之。DOM Level 2 所建議,IE 無此項。

createCDATASection()

傳回一個新建立的 CDATA 區結。此方法用在 XML,以後再談。

createComment()

傳回一個新建立的註解結。此方法用在 XML,還沒學到,以後再談。

createDocumentFragment()

傳回一個新建立的空白文件段物件,其語法是:

文件段 = document.createDocumentFragment();

可以在文件段中加入多種 子元素,然後將文件段加到 HTML 元素。

  • 程式用法:

    <script type='text/javascript'>
    function createDFDM()
    {
      var fo = document.createDocumentFragment();
      fo.appendChild(document.createTextNode('新文件段加到此'));
      document.getElementById('DF').appendChild(fo);
    }
    </script>
    <div id='DF'>
    <a href='javascript:createDFDM()'>點此建立新文件段</a>
    </div>

  • 執行結果:

createElement()

依指定的標籤名,傳回一個新建立的元素物件,其語法是:

元素物件 = document.createElement( 標籤名字串 )

可以設定元素物件的特徵值,然後將之加到 HTML 元素。

  • 程式用法:

    <script type='text/javascript'>
    function createElementDM()
    {
      var so = document.createElement('span');
      so.innerHTML='<i>您好!</i>';
      so.style.color='red';
      document.getElementById('CRE').appendChild(so);
    }
    </script>
    <div id='CRE'>
    <a href='javascript:createElementDM()'>點此加入新元素</a>
    </div>

  • 執行結果:

createElementNS()

依指定的標籤名與名稱空間,傳回一個新建立的元素物件。此方法用在 XML,以後再談。

createEvent()

傳回一個新建立的事件物件,其語法是:

事件 = document.createEvent( 事件組字串 );

事件組可設為:UIEvent, MouseEvent, MutationEvent, MutationNameEvent, TextEvent, KeyboardEvent, Event。細分類可參考 addEventListener()。其它特殊的事件組有,SVGEvents, SVGZoomEvents, MessageEvent, MouseScrollEvents, PopupBlockedEvents, XULCommandEvent。

  • 程式用法:

    <script type='text/javascript'>
    function createEventDM()
    {
      var eo=document.getElementById("CRV");
      if( window.outerWidth == undefined )
      {
        eo.fireEvent("onclick");
      }
      else
      {
        var vo = document.createEvent("MouseEvents");
        vo.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0, false, false, false, false, 0, null);
        eo.dispatchEvent( vo );
      }
    }
    </script>
    <a href='javascript:createEventDM()'>點此模擬滑鼠點擊右邊元素</a> / / / /
    <span id='CRV' onclick='alert("誰叫我?")'>別點我</span>

  • 執行結果:

    點此模擬滑鼠點擊右邊元素 / / / / 別點我

  • 上例中,IE 用 fireEvent();Firefox, Safari, Chrome 用 dispatchEvent()。
createNodeIterator()

新建立一個 NodeIterator 物件。限 Firefox 3 使用。

createNSResolver()

新建立一個 XPathNSResolver。限 Firefox 使用。

createProcessingInstruction()

傳回一個新建立的處理指令元素物件。此方法用在 XML,以後再談。

createRange()

新建立一個 Range 物件。此主題很大,後面再談。

createTextNode()

新建立一個文字結,其語法是:

文字結 = document.createTextNode( 資料字串 );

  • 程式用法:

    <script type='text/javascript'>
    function createTextNodeDM()
    {
      var tx=document.createTextNode('歡迎參觀!');
      document.getElementById('ctn').appendChild(tx);
    }
    </script>
    <div id='ctn'>
    <a href='javascript:createTextNodeDM()'>點此加入文字</a>
    </div>

  • 執行結果:

createTreeWalker()

新建立一個 TreeWalker 物件。限 Firefox 使用。

elementFromPoint()

傳回座標點上的元素,其語法是:

元素物件 = document.elementFromPoint(x, y);

x, y 是相對於視窗或矩框的左上角之座標位置。

  • 程式用法:

    <script type='text/javascript'>
    function elementFromPointDM()
    {
      var eo=document.elementFromPoint(400, 2);
      alert(eo);
      eo.style.color='red';
    }
    </script>
    <a href='javascript:elementFromPointDM()'>改變顏色</a>

  • 執行結果:

    改變顏色

  • 上例中,座標點設在 (400, 2),可將任一元素移到此位置,然後點”改變顏色”。
  • IE, Firefox 成功;Safari, Chrome 失敗。
evaluate()

演算 XPath。此方法用在 XML,以後再談。

execCommand()

執行 Midas 指令。Midas 用來建立編輯器,此主題很大,後面再談。


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