DOM(Document Object Model)

一、基本概念

Document Object Model 文檔對象模型
將標記語言文檔的各個組成部分,封裝爲對象,可以使用這些對象,對標記語言文檔進行CRUD的動態操作

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

1)核心 DOM - 針對任何結構化文檔的標準模型
			* Document:文檔對象
			* Element:元素對象
			* Attribute:屬性對象
			* Text:文本對象
			* Comment:註釋對象
			* Node:節點對象,其他5個的父對象
(2)XML DOM - 針對 XML 文檔的標準模型
(3)HTML DOM - 針對 HTML 文檔的標準模型

二、核心DOM模型

  1. Document:文檔對象
    (1)創建(獲取):在html dom模型中可以使用 window 對象來獲取
		window.document
		document

(2)方法

獲取Element對象:
	a. getElementById()	: 根據id屬性值獲取元素對象。id屬性值一般唯一
	b. getElementsByTagName():根據元素名稱獲取元素對象們。返回值是一個數組
	c. getElementsByClassName():根據Class屬性值獲取元素對象們。返回值是一個數組
	d. getElementsByName(): 根據name屬性值獲取元素對象們。返回值是一個數組
 創建其他DOM對象:
	a. createAttribute(name)
    b. createComment()
    c. createElement()
    d. createTextNode()

其他點擊參考
(3)屬性

  1. Element:元素對象
1)獲取/創建:通過document來獲取和創建
(2)方法:
		removeAttribute():刪除屬性
		setAttribute():設置屬性
  1. Node:節點對象,其他 5 個的父對象
特點:所有 dom 對象都可以被認爲是一個節點
方法:
	* CRUD dom樹:
			* appendChild():向節點的子節點列表的結尾添加新的子節點。
			* removeChild()	:刪除(並返回)當前節點的指定子節點。
			* replaceChild():用新節點替換一個子節點。
	* 屬性:
			* parentNode 返回節點的父節點。
			var div2 = document.getElementById("div2");
   			var div1 = div2.parentNode;
<body>
   <div id="div1">
       <div id="div2">div2</div>
       div1
   </div>
    <a href="javascript:void(0);" id="del">刪除節點</a>
    <a href="javascript:void(0);" id="add">增加節點</a>
<script>
    // 刪除節點
        // 獲取超鏈接
    var e_d = document.getElementById("del");
        //綁定單擊事件
    e_d.onclick = function () {
        var div1 = document.getElementById("div1");
        var div2 = document.getElementById("div2");
        div1.removeChild(div2);
    }
    // 增加節點
    var e_a = document.getElementById("add");
    e_a.onclick = function () {
        var div1 = document.getElementById("div1");
        // 給 div1 添加子節點首先需要創建 div 添加子節點
        var div3 = document.createElement("div")
        div3.setAttribute("id","div3")
        div1.appendChild(div3)
    }
</script>
</body>

超鏈接功能:
(1)可以被點擊:樣式
(2)點擊後跳轉到 href 指定的 url
如果需求:保留(1)功能,去掉(2)功能,意思就是不跳轉到其他頁面,也不重新加載本頁面
實現:href="javascript:void(0);"

三、HTML DOM

  1. 標籤體的設置和獲取:innerHTML
  2. 使用 html 元素對象的屬性
  3. 控制元素樣式
1)使用元素的style屬性來設置
				如:
					 //修改樣式方式1
			        div1.style.border = "1px solid red";
			        div1.style.width = "200px";
			        //font-size--> fontSize
			        div1.style.fontSize = "20px";2)提前定義好類選擇器的樣式,通過元素的 className 屬性來設置其 class 屬性值。

第(2)種方法常用

<head>
    <style>
        .text{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <div id="div">div</div>
    </div>

<script>
    var div = document.getElementById("div");
    //通過提前設置 className 屬性設置樣式
    div.className = "text";
</script>
</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章