1. 程式人生 > >DOM&&BOM

DOM&&BOM

 

DOM:DOM 全稱是 Document Object Model,也就是文件物件模型。DOM 是 W3C(全球資訊網聯盟)的標準。

 

DOM 定義了訪問 HTML 和 XML 文件的標準:“W3C 文件物件模型 (DOM) 是中立於平臺和語言的介面,它允許程式和指令碼動態地訪問和更新文件的內容、結構和樣式。”

W3C DOM 標準被分為 3 個不同的部分:

核心 DOM - 針對任何結構化文件的標準模型
XML DOM - 針對 XML 文件的標準模型
HTML DOM - 針對 HTML 文件的標準模型
 

1、DOM起源(recourse):在1998年,W3C釋出了第一級的DOM規範。這個規範允許訪問和操作HTML頁面中的每一個單獨的元素。所有的瀏覽器都執行了這個標準,因此,DOM的相容性問題也難覓蹤影了。

2、DOM方法:

可通過 JavaScript (以及其他程式語言)對 HTML DOM 進行訪問。

所有 HTML 元素被定義為物件,而程式設計介面則是物件方法和物件屬性。

方法是您能夠執行的動作(比如新增或修改元素)。

屬性是您能夠獲取或設定的值(比如節點的名稱或內容)。

3、DOM內容:來自於w3school

1、通過 HTML DOM,JavaScript 能夠訪問 HTML 文件中的每個元素。

2、通過 HTML DOM,您能夠訪問 HTML 物件的樣式物件。

3、HTML DOM 允許您在事件發生時執行程式碼。

當 HTML 元素”有事情發生“時,瀏覽器就會生成事件:

在元素上點選
載入頁面
改變輸入欄位
 

4、DOM應用:

---------------------

作者:zhaoke_930325

來源:CSDN

原文:https://blog.csdn.net/zhaoke_930325/article/details/75635179

版權宣告:本文為博主原創文章,轉載請附上博文連結!

查詢元素、改變HTML

樣式、使用事件(在元素上點選、載入頁面、改變輸入欄位)

 

1、子節點的刪除可以用’javascript:;’來作為刪除選項:

 

for (var i = 0; i < aA.length; i++) {

            aA[i].onclick = function(){

                oUl.removeChild(this.parentNode);

            };

        }

2、childNodes只支援IE6-8,且包括文字節點和元素節點,而children只包括元素,不包括文字節點。

3、子節點指的是隻算第一層的節點,而內層節點不算。

4、parentNode:當前的父節點,是獲取用來定位的父級。

5、setAttribute(名稱,值)方法新增指定的屬性,併為其賦指定的值。

如果這個指定的屬性已存在,則僅設定/更改值。getAttribute用來獲取屬性。

 

document.getElementsByTagName("INPUT")[0].setAttribute("type","button");

6、獲取元素屬性的方法:

 

function getStyle(oParents,sClass)

        {

            var aEle = oParents.getElementsByTagName('*');

            var aResult[];

            for (var i = 0; i < aEle.length; i++) {

                if(aEle[i].className=sClass)

                {

                    aResult.push(aEle[i]);

                }

            }

            return aResult;

        };

7、父級呼叫的方法有:

.appendChild(子節點)增加子節點,過程是先把元素從原有的父級刪掉,再新增到新的父級;.insertBefore(子節點,在誰之前);.removeChild(子節點)移除子節點。

8、在DOM文件中可以通過 document.createDocumentFragment();來建立表格,通過呼叫 .tBodies[i]取body,.rows[i]取行,.cells[i]取單元格,.toLowerCase()轉為小寫,用於搜尋時不區分大小寫,.search(‘str’)值為位置,當值等於 -1 時,為沒有找到(模糊搜尋),.split(‘str’)切分字串。

9、.sort()是Arr陣列特有的方法,輸入時失去焦點時的驗證,onkeyup onblur,

提交檢查onsubmit。

 

BOM:

BOM 是 Browser Object Model,瀏覽器物件模型。簡單地說,BOM和DOM一樣,只不過DOM操作的是HTML中的元素,BOM是瀏覽器的API、操作的是瀏覽器(即控制瀏覽器的行為)

所有瀏覽器都支援 window 物件。它表示瀏覽器視窗。所有 JavaScript 全域性物件、函式以及變數均自動成為 window 物件的成員。全域性變數是 window 物件的屬性。全域性函式是 window 物件的方法。甚至文件物件(HTML DOM)也是window物件的屬性: 一些常用的Window方法:可以使用兩個屬性來確定瀏覽器視窗的大小。兩個屬性都以畫素為單位返回大小:

window.innerHeight - 瀏覽器視窗的內部高度(以畫素為單位)
window.innerWidth - 瀏覽器視窗的內部寬度(以畫素為單位)

其他一些方法:
window.open() - 開啟一個新視窗
window.close() - 關閉當前視窗
window.moveTo() - 移動當前視窗
window.resizeTo() - 表示當前視窗
1、window.screen物件包含有關使用者螢幕的資訊

2、screen.width屬性返回訪問者螢幕的寬度(以畫素為單位)。

3、screen.height屬性返回訪問者螢幕的高度(以畫素為單位)

4、screen.availWidth屬性返回訪問者螢幕的寬度(以畫素為單位),減去Windows工作列等介面功能

5、screen.availHeight屬性返回訪問者螢幕的高度(以畫素為單位),減去Windows工作列等介面功能。

6、screen.colorDepth屬性返回用於顯示一種顏色的位數。所有現代計算機都使用24位或32位硬體進行顏色分辨。24位= 16,777,216種不同的“真彩色”。32位= 4,294,967,296種不同的“深色”

7、screen.pixelDepth屬性返回螢幕的畫素深度。 

8、window.location物件可用於獲取當前頁面地址(URL)並將瀏覽器重定向到新頁面。