關於document學習筆記及涉及的前端筆試題

Document

  • 文檔子節點

    • document.documentElement 始終指向HTML頁面中的<html>元素javascript

    • document.body 始終指向<body>元素html

    • document.title 包含着<title>元素中的文本java


  • 文檔信息

    • document.URL 取得地址欄中顯示的URLsegmentfault

    • document.domain 只包含頁面的域名跨域

    • document.referrer 保存連接到當前頁面的那個頁面的URL
      URL、domain、referrer三個屬性中,只有domain能夠設置值。URL與domain是相互關聯的。可是因爲安全限制,只能設置爲URL中包含的域。安全

    【筆試題出現過跨域問題
    來自不一樣子域的頁面沒法經過javascript通訊,而經過將每一個頁面的document.domain設置爲相同的值,這些頁 面就可互相訪問對方的javascript對象。
    關於跨域問題可查看 http://www.cnblogs.com/2050/p/3191744.html (js中幾種實用的跨域方法原理詳解)
    http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html (JavaScript跨域總結與解決辦法)
    除此以外,若是域名一開始是鬆散的,則不能再設置爲緊繃的。例如:dom

    //假設頁面來自於 test.segmentfault.com 域
       document.domain = "segmentfault.com"; //loose鬆散的(成功)
       document.domain = "test.segmentfault.com"; //tight緊繃的(失敗!報錯)

  • 查找元素

    • getElementById("id")
      其中參數id大小寫區分。如有多個元素ID值相同,只返回文檔中第一次出現的元素。code

    【IEbug】:如有哪一個表單元素的name值與參數id相同,且該元素位置在id元素以前,則IE會返回表單元素。 【解決方案:不讓表單中的name特性與其餘元素ID相同】orm

    • getElementsByTagName()
      返回一個HTMLCollection對象(是一個「動態」集合)htm

    【注意:由於返回的是一個集合,因此是getElementsByTagName】

    //獲取全部元素
       var allElements = document.getElementsByTagName("*");
       //獲取全部圖像元素
       var images = document.getElementsByTagName("img");
       var src = images[0].src;; // 第一個圖像元素的src特性
       var src = images.item(0).src; //也是第一個圖像元素的src特性
       //假設有一個圖像元素爲
       <img src="myimage.jpg" name="myImage">
       //能夠經過如下兩種方式來獲取該元素
       var myImage = images.namedItem("myImage");
       var myImage = images["myImage"];
    • getElementsByName()
      只有HTMLDocument類型纔有的方法。返回帶有給定name特性的全部元素


  • 特殊集合

    都是HTMLCollection對象。

    • document.images 包含全部<img>元素

    • document.links 包含全部帶href特性的a元素

    • document.anchors 包含全部帶name特性的a元素

    • document.forms 包含全部<form>元素


  • 文檔寫入

    • write() 原樣寫入到輸出流

    • writeln() 與write()相同,多了一個換行符
      //能夠動態包含外部資源。但須要注意轉義字符使用,以避免字符串解釋錯誤。

    //若是在文檔加載結束後再調用document.write(),輸出的內容將會重寫整個頁面。

    <script>
           document.write("<script type=\"text/javascript\" src=\"test.js\">"+ "<\/script>");
       </script>
    • open() 打開網頁輸出流

    • close() 關閉網頁輸出流如果在頁面加載期間使用write或writeln方法,則無需用到open和close方法

相關文章
相關標籤/搜索