首頁 web前端 js教程 《JavaScript DOM 程式設計藝術》閱讀筆記之DOM基礎_javascript技巧

《JavaScript DOM 程式設計藝術》閱讀筆記之DOM基礎_javascript技巧

May 16, 2016 pm 04:21 PM
dom 基礎

DOM
      
      DOM:文檔物件模型;

節點

       元素節點:DOM的原子為元素節點。

    之類的元素。元素可以包含其他的元素。沒有被包含在其他元素裡的唯一元素是元素

           文字節點:在XHTML文件裡,文字節點總是被包含在元素節點的內部。

           屬性節點:屬性節點用來對元素做更具體的描述。例如,幾乎每個元素都有一個title屬性,而我們可以利用這個屬性對包含在元素裡的東西作出準確的描述:

          

    Don't forget to buy this stuff.

           在DOM中,title="a gentle reminder"是屬性節點。

    CSS

         取得元素
          getElementById, getElementsByTagName, getElementsByClassName三種可以取得元素節點的方法。

          getElementsByTagName允許以一個通配符作為它的參數,而這表示文件裡的每個元素都將在這個函數所傳回的陣列裡佔有一席之地。通配符(“*”)必須在引號裡,這是為了和乘法運算有所區別。

          也可以將getElementById和getElementsByTagName結合起來運用。如下圖所示:

    複製程式碼 程式碼如下:

          var shopping = document.getElementById("purchase");
          var items = shopping.getElementsByTagName("*");

          這樣就可以得到id屬性值為purchase的元素包含多少個元素。

          getElementsByClassName方法只有較新的瀏覽器才會支援。為了彌補這一點,DOM腳本程式設計師需要使用現有的DOM方法來實作自己的getElementsByClassName。而多數情況下,他們的實作過程都與下面這個getElementsByClassName大致相似:

    複製程式碼 程式碼如下:

          function getElementsByClassName(node, classname){
            if(node.getElementsByClassName){
              return node.getElementsByClassName(classname);
            }else{
              var results = new Array();
              var elems = node.getElementsByTagName("*");
              for(var i=0;i             if(elems[i].className.indexOf(classname) != -1){
                  results[results.length] = elems[i];
                }
             }
             return results;
          }
       }

       這個getElementsByClassName函數接受兩個參數,第一個node表示DOM樹中的搜素起點,第二個classname就是要搜尋的類別名稱了。

    取得與設定屬性

         getAttribute是一個函數,它只有一個參數-你打算查詢的屬性的名字:

    複製程式碼 程式碼如下:

         object.getAttribute(attribute)

         setAttribute()允許我們對屬性節點的值做出修改。透過setAttribute對文件作出修改後,在透過瀏覽器的view source(查看原始碼)選項去查看文件的原始碼時看到的仍將是改變前的屬性值,也就是說,setAttribute所做的修改不會反映在文檔本身的源碼裡。這種「表裡不一」的現像源自DOM的工作模式:先載入文件的靜態內容,再動態刷新,動態刷新不影響文件的靜態內容。這正是DOM的真正威力:對頁面內容進行重新整理卻不需要在瀏覽器裡重新整理頁面。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP基礎教學:從入門到精通 PHP基礎教學:從入門到精通 Jun 18, 2023 am 09:43 AM

PHP是一種廣泛使用的開源伺服器端腳本語言,它可以處理Web開發中所有的任務。 PHP在網頁開發的應用廣泛,尤其是在動態資料處理上表現優異,因此被許多開發者喜愛和使用。在本篇文章中,我們將一步步講解PHP基礎知識,幫助初學者從入門到精通。一、基本語法PHP是一種解釋性語言,其程式碼類似HTML、CSS和JavaScript。每個PHP語句都以分號;結束,註

vue dom是什麼意思啊 vue dom是什麼意思啊 Dec 20, 2022 pm 08:41 PM

dom是一種文件物件模型,同時也是用於html程式設計的接口,透過dom來操作頁面中的元素。 DOM是HTML文件的記憶體中物件表示,它提供了使用JavaScript與網頁互動的方式。 DOM是節點的層次結構(或樹),其中document節點為根。

vue3中ref綁定dom或元件失敗的原因為何及怎麼解決 vue3中ref綁定dom或元件失敗的原因為何及怎麼解決 May 12, 2023 pm 01:28 PM

vue3ref綁定dom或元件失敗原因分析場景描述在vue3中常用到使用ref綁定元件或dom元素的情況,很多時候,明明使用ref綁定了相關元件,但是經常ref綁定失敗的情況。 ref綁定失敗情況舉例ref綁定失敗的絕大多數情況是,在ref和元件綁定的時候,該元件還未渲染,所以綁定失敗。或是元件剛開始未渲染,ref未綁定,當元件開始渲染,ref也開始綁定,但是ref和元件並未綁定完成,這個時候使用元件相關的方法就會出現問題。 ref綁定的元件使用了v-if,或他的父元件使用了v-if導致頁面

Vue3取得DOM節點的方式有哪些 Vue3取得DOM節點的方式有哪些 May 11, 2023 pm 04:55 PM

1.原生js取得DOM節點:document.querySelector(選擇器)document.getElementById(id選擇器)document.getElementsByClassName(class選擇器)....2.vue2中取得目前元件的實例物件:因為每個vue的元件實例上,都包含一個$refs對象,裡面儲存著對應的DOM元素或元件的參考。所以在預設情況下,元件的$refs指向一個空物件。可以先在元件上加上ref="名字",然後透過this.$refs.

PHP中的DOM操作指南 PHP中的DOM操作指南 May 21, 2023 pm 04:01 PM

在網頁開發中,DOM(DocumentObjectModel)是一個非常重要的概念。它可以讓開發者輕鬆地對一個網頁的HTML或XML文件進行修改和操作,例如新增、刪除、修改元素等。而PHP內建的DOM操作庫也為開發者提供了豐富的功能,本文將介紹PHP中的DOM操作指南,希望可以幫助大家。 DOM的基本概念DOM是一個跨平台、獨立於語言的API,它可以將

dom和bom物件有哪些 dom和bom物件有哪些 Nov 13, 2023 am 10:52 AM

dom和bom物件有:1、「document」、「element」、「Node」、「Event」和「Window」等5種DOM物件;2、「window」、「navigator」、「location」、「history」和「screen」等5種BOM物件。

bom和dom有什麼差別 bom和dom有什麼差別 Nov 13, 2023 pm 03:23 PM

bom和dom在作用和功能、與JavaScript的關係、相互依賴性、不同瀏覽器的兼容性和安全性考量等方面都有區別。詳細介紹:1、作用和功能,BOM的主要作用是操作瀏覽器窗口,它提供了瀏覽器窗口的直接訪問和控制,而DOM的主要作用則是將網頁文檔轉換為一個對象樹,允許開發者透過這個物件樹來取得和修改網頁的元素和內容;2、與JavaScript的關係等等。

dom內建物件有哪些 dom內建物件有哪些 Dec 19, 2023 pm 03:45 PM

dom 內建物件有:1、document;2、window;3、navigator;4、location;5、history;6、screen;7、document.documentElement;8、document.body;9、document.head;10、document .title;11、文檔.cookie。

See all articles